خانه » CVE-2025-27148

CVE-2025-27148

آسیب‌پذیری افزایش دسترسی محلی از طریق دایرکتوری موقت سیستم در گرادل

توسط Vulnerbyte Alerts

چکیده

یک آسیب‌پذیری در گرادل 8.12.0 شناسایی شده است. این آسیب‌پذیری به بخشی از کد Setting Handler مربوط می‌شود. ایجاد تغییرات در این کد باعث بروز مشکل در فایل‌های موقت می‌شود. این آسیب‌پذیری با شناسه CVE-2025-27148 ثبت شده است. برای اجرای این حمله نیاز به دسترسی محلی است. توصیه می‌شود که بخش آسیب‌دیده به‌روز شود.

توضیحات

این مشکل طبق CWE-378 طبقه‌بندی شده است که نشان می‌دهد باز کردن فایل‌های موقت بدون اقدامات یا کنترل‌های مناسب می‌تواند باعث آسیب‌پذیری فایل، محتوای آن و هر عملکردی که تحت تأثیر قرار می‌گیرد، شود. این مسئله می‌تواند بر محرمانگی، یکپارچگی و دسترس‌پذیری تأثیر بگذارد.

در سیستم‌های مشابه یونیکس، دایرکتوری موقت سیستم ممکن است با دسترسی‌های باز ایجاد شود که به کاربران مختلف اجازه می‌دهد فایل‌ها را در آن ایجاد ویا حذف کنند. این مقداردهی اولیه کتابخانه ممکن است به یک آسیب‌پذیری در افزایش دسترسی محلی از طریق حمله‌ای که فایل‌ها را در دایرکتوری موقت سیستم به سرعت حذف و دوباره ایجاد می‌کند، تبدیل شود. build ‌هایی که به نسخه‌های net.rubygrapefruit:native-platform قبل از 0.22-milestone-28 وابسته هستند، ممکن است دچار این آسیب‌پذیری شوند.

این مشکل در نسخه  0.22-milestone-28رفع شد و از آن پس مقداردهی اولیه کتابخانه اجباری است و دیگر از دایرکتوری موقت سیستم استفاده نمی‌شود، مگر اینکه چنین مسیری برای مقداردهی اولیه ارائه شود. نسخه گرادل 8.12 تنها همان نسخه خاص دارای مسیرهای کدی بود که مقداردهی اولیه کتابخانه بومی زیرساختی از مسیر پیش‌فرض استفاده می‌کرد و به کپی کردن موارد باینری‌ به دایرکتوری موقت سیستم متکی بود. هر اجرای گرادل این آسیب‌پذیری را آشکار می‌کرد.

کاربران ویندوز یا نسخه‌های جدید macOS آسیب‌پذیر نیستند، همچنین کاربران سیستم‌های مشابه یونیکس که از گزینه sticky یا noexec در دایرکتوری موقت سیستم خود استفاده می‌کنند، آسیب‌پذیر نیستند. این مشکل در گرادل 8.12.1 برطرف شده است و نسخه گرادل 8.13 نیز به‌روزرسانی‌های لازم را برای رفع این باگ انجام داده است.

چند راه‌حل جایگزین برای این مشکل وجود دارد. در سیستم‌عامل‌های مشابه یونیکس، اطمینان حاصل کنید که گزینه “sticky” فعال باشد. این گزینه تنها به کاربر اصلی (یاRoot ) اجازه می‌دهد که یک فایل را حذف کند. مونت کردن(Mounting) tmp/ به‌عنوان noexec از اجرای گرادل 8.12 جلوگیری می‌کند. افرادی که قادر به تغییر دسترسی‌های دایرکتوری موقت سیستم نیستند، می‌توانند دایرکتوری موقت جاوا را با تنظیم خاصیت سیستم java.io.tmpdir جابجا کنند. مسیر جدید باید دسترسی‌ها را محدود کند تا فقط به کاربر مربوط به  buildدسترسی داده شود.

اکسپلویت این نقص ساده ارزیابی شده است و حمله باید به‌صورت محلی انجام شود.

CVSS

Score Severity Version Vector String
8.8 HIGH           3.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

 لیست محصولات آسیب پذیر

Versions Product
affected at  8.12 gradle

 لیست محصولات بروز شده

Versions Product
8.12.1 gradle
8.13.0 gradle

نتیجه گیری

ارتقا به نسخه‌های 8.12.1 یا 8.13.0 این آسیب‌پذیری را برطرف می‌کند.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-27148
  2. https://www.cvedetails.com/cve/CVE-2025-27148/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-27148
  4. https://vuldb.com/?id.296841
  5. https://nvd.nist.gov/vuln/detail/CVE-2025-27148
  6. https://cwe.mitre.org/data/definitions/379.html
  7. https://cwe.mitre.org/data/definitions/378.html
  8. https://github.com/gradle/gradle/security/advisories/GHSA-465q-w4mf-4f4r
  9. https://github.com/gradle/gradle/security/advisories/GHSA-89qm-pxvm-p336
  10. https://github.com/gradle/native-platform/security/advisories/GHSA-2xxp-vw2f-p3x8
  11. https://github.com/gradle/native-platform/blob/574dfe8d9fb546c990436468d617ab81c140871d/native-platform/src/main/java/net/rubygrapefruit/platform/internal/NativeLibraryLocator.java#L68-L78

همچنین ممکن است دوست داشته باشید

پیام بگذارید