چکیده

آسیب‌پذیری در فایل‌سیستم exFAT کرنل لینوکس ناشی از بررسی ناقص مقدار منفی در فیلد valid_size است. این ضعف زمانی که یک دایرکتوری ورودی (dentry) دستکاری‌شده در فایل‌سیستم وجود داشته باشد، می‌تواند منجر به حلقه بی‌نهایت (infinite loop) و در نهایت انکار سرویس (DoS) شود.

توضیحات

آسیب‌پذیری CVE-2025-40287 در فایل‌سیستمexFAT کرنل لینوکس رخ می‌دهد. فایل‌سیستم exFAT که توسط مایکروسافت توسعه یافته است، به‌طور گسترده برای رسانه‌های ذخیره‌سازی قابل‌حمل مانند فلش‌درایوها و کارت‌های حافظه کاربرد دارد و از نسخه 5.7 کرنل لینوکس به‌صورت پیش‌فرض پشتیبانی می‌‌کند. این فایل‌سیستم به‌منظور سازگاری بالا با سیستم‌عامل‌های مختلف، به‌ویژه ویندوز، در محیط‌های ذخیره‌سازی خارجی به کار می‌رود.

ضعف اصلی این آسیب‌پذیری در تابع exfat_find() شناسایی شده است؛ جایی که منطق اعتبارسنجی اندازه فایل، بررسی نمی‌کند آیا مقدار فیلد dentry.stream.valid_size منفی است یا خیر. در ساختار exFAT، دایرکتوری ورودی (dentry – Directory Entry) شامل اطلاعات متادیتای فایل است و مقدار valid_size نشان‌دهنده اندازه معتبر داده‌ها می‌باشد. در صورتی که یک dentry دستکاری‌شده روی رسانه ذخیره‌سازی قرار گیرد و مقدار valid_size آن منفی باشد، این وضعیت به‌درستی شناسایی و متوقف نمی‌شود.

در چنین شرایطی، فراخوانی‌های سیستم مانند SYS_openat (باز کردن فایل)، SYS_ftruncate (تغییر اندازه فایل) و SYS_pwrite64 (نوشتن داده در فایل با آفست مشخص) می‌توانند بدون خطا اجرا شوند. اجرای موفق این فراخوانی‌های سیستم در نهایت باعث ورود کرنل به یک حلقه بی‌نهایت (infinite loop) شده که منجر به هنگ کردن کرنل و بروز وضعیت انکار سرویس (DoS) می‌گردد. این آسیب‌پذیری به‌صورت لوکال و با سطح دسترسی پایین قابل بهره‌برداری است. مهاجم می‌تواند یک تصویر دیسک یا رسانه ذخیره‌سازی دستکاری‌شده شامل dentry خراب را متصل (mount) کرده و سپس عملیات معمول فایل را انجام دهد تا کرنل وارد حلقه بی‌نهایت شده و انکار سرویس رخ دهد. این آسیب‌پذیری با اعمال اصلاحات لازم در شاخه‌های پایدار کرنل لینوکس به‌طور کامل پچ شده است. در نسخه‌های اصلاح‌شده، یک بررسی صریح برای شناسایی مقادیر منفی در فیلد dentry.stream.valid_size به منطق پردازش اضافه شده است که از ادامه پردازش dentryهای نامعتبر جلوگیری می‌کند و به این ترتیب مانع بروز حلقه بی‌نهایت و وضعیت انکار سرویس می‌شود.

CVSS

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

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

Versions Product
affected at 5.7 Linux
affected from 1acf1a564b6034b5af1e7fb23cb98cb3bb4f6003 before 6c627bcc1896ba62ec793d0c00da74f3c93ce3ad

affected from 1acf1a564b6034b5af1e7fb23cb98cb3bb4f6003 before 204b1b02ee018ba52ad2ece21fe3a8643d66a1b2

affected from 1acf1a564b6034b5af1e7fb23cb98cb3bb4f6003 before 82ebecdc74ff555daf70b811d854b1f32a296bea

Linux

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

Versions Product
unaffected from 0 before 5.7

unaffected from 6.12.59 through 6.12.*

unaffected from 6.17.9 through 6.17.*

unaffected from 6.18

Linux
6c627bcc1896ba62ec793d0c00da74f3c93ce3ad,

204b1b02ee018ba52ad2ece21fe3a8643d66a1b2,

82ebecdc74ff555daf70b811d854b1f32a296bea

Linux

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Linux kernel را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
82,900 site:.ir “Linux kernel” Linux kernel

نتیجه گیری

این آسیب‌پذیری با شدت بالا در فایل‌سیستم exFAT کرنل لینوکس می‌تواند در صورت استفاده از رسانه‌های ذخیره‌سازی دستکاری‌شده، باعث ورود کرنل به حلقه بی‌نهایت و بروز وضعیت انکار سرویس شود. با توجه به انتشار پچ‌های رسمی شاخه‌های پایدار کرنل لینوکس، اجرای اقدامات زیر برای کاهش ریسک و جلوگیری از بهره‌برداری احتمالی ضروری است:

  • به‌روزرسانی فوری کرنل: تمامی سیستم‌های لینوکس که از فایل‌سیستم exFAT استفاده می‌کنند را به آخرین نسخه پایدار کرنل لینوکس به‌روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • بررسی نسخه کرنل: پس از به‌روزرسانی، با استفاده از دستورهایی مانند uname -r یا بررسی بسته‌های توزیع، اطمینان حاصل کنید که کامیت‌های اصلاحی (fix commits) مربوط به این آسیب‌پذیری در کرنل اعمال شده‌اند.
  • مانیتورینگ و ثبت لاگ: از ابزارهای نظارت بر کرنل مانند dmesg، journalctl و سامانه‌های تشخیص نفوذ (IDS) برای شناسایی پیام‌های خطا، لاگ‌های مربوط به exFAT و نشانه‌های هنگ سیستم استفاده کنید.
  • اصل حداقل دسترسی: دسترسی لوکال کاربران به عملیات اتصال رسانه‌های خارجی (mount external media) را محدود کرده و سیاست حداقل سطح دسترسی را به‌طور جدی اعمال نمایید.
  • غیرفعال کردن exFAT در صورت عدم نیاز: در صورتی که استفاده عملیاتی از فایل‌سیستم exFAT ندارید، آن را غیرفعال (unload) کرده یا در لیست سیاه (blacklist) قرار دهید تا سطح حمله کاهش یابد. همچنین از اتصال خودکار (auto-mount) رسانه‌های ناشناخته جلوگیری کنید.
  • اسکن رسانه‌های خارجی: پیش از اتصال فلش‌درایوها و کارت‌های حافظه، آن‌ها را با ابزارهای بررسی و اعتبارسنجی فایل‌سیستم اسکن کنید تا از ساختارهای خراب یا دستکاری‌شده جلوگیری شود.

اجرای این راهکارها، به‌ویژه به‌روزرسانی سریع کرنل و کنترل دسترسی به رسانه‌های خارجی، ریسک بهره‌برداری از این آسیب‌پذیری را به‌طور قابل‌توجهی کاهش داده و سطح امنیت سیستم‌های لینوکسی را در برابر حملات انکار سرویس مبتنی بر فایل‌سیستم افزایش می‌دهد.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)

این آسیب‌پذیری از طریق اتصال (mount) یک رسانه ذخیره‌سازی دستکاری‌شده با فایل‌سیستم exFAT قابل تحریک است. مهاجم با فراهم‌کردن یک دیسک یا ایمیج حاوی dentry مخرب، می‌تواند نقطه ورود را ایجاد کند. مسیر دسترسی فیزیکی/لوکال است و به تعامل کاربر یا مکانیزم‌های auto-mount وابسته می‌باشد.

Impact (TA0040)

پیامد نهایی این آسیب‌پذیری انکار سرویس کامل (Denial of Service) در سطح سیستم‌عامل است. ورود کرنل به حلقه بی‌نهایت باعث هنگ شدن سیستم و نیاز به reboot اجباری می‌شود. در محیط‌های سروری یا سیستم‌های حیاتی، این وضعیت می‌تواند منجر به اختلال جدی در سرویس‌دهی و از دسترس خارج شدن کامل سیستم گردد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-40287
  2. https://www.cvedetails.com/cve/CVE-2025-40287/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-40287
  4. https://vuldb.com/?id.334633
  5. https://app.opencve.io/cve/CVE-2025-40287
  6. https://git.kernel.org/stable/c/6c627bcc1896ba62ec793d0c00da74f3c93ce3ad
  7. https://git.kernel.org/stable/c/204b1b02ee018ba52ad2ece21fe3a8643d66a1b2
  8. https://git.kernel.org/stable/c/82ebecdc74ff555daf70b811d854b1f32a296bea
  9. https://nvd.nist.gov/vuln/detail/CVE-2025-40287

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *