CVE-2026-72195 in Linux
الملخص
بحسب VulDB • 16/08/2026
في نواة لينكس، تم حل الثغرة التالية:
fs/ntfs3: تقييد attr_off في UpdateResidentValue مقابل data_off
في حالة UpdateResidentValue الخاصة بـ do_action() (fslog.c: 3307)، تأتي lrh->attr_off وlrh->redo_len من LRH الموجود على القرص. عندما تحقق الشروط aoff + dlen < attr->res.data_off، فإن عملية الإسناد التالية تؤدي إلى تجاوز سالب (underflow) نحو ~4 غيغابايت (على سبيل المثال 0xFFFFFFF9 عند aoff=0x10 وdlen=1 وdata_off=0x18):
attr->res.data_size = cpu_to_le32(aoff + dlen - data_off);
وبالتالي، فإن الشيفرة اللاحقة التي تقرأ attr->res.data_size للمرور عبر حمولة السمة المقيمة (resident attribute payload) ستقوم بقراءة ما يصل إلى 4 غيغابايت بعد تخصيص سجل MFT البالغ حجمه 1024 بايت.
دفاع mi_enum_attr() الموجود في fs/ntfs3/record.c:287 يلتقط بيانات data_size التالفة أثناء عملية المرور التالية عبر السمات ويفشل عملية الإرفاق (mount)، ولكن فقط على المسار الذي يمر بجميع السمات. أما موقع القراءة الذي يختار سمة باسمها ويقرأ حجم بياناتها دون إعادة التحقق من صحتها، فهو غير مشمول بهذا الدفاع. يجب التحقق من صحة aoff مقابل data_off وasize عند المصدر.
تمت محاكاتها باستخدام UML+KASAN على النسخة الرئيسية 8d90b09e6741 عبر مسبار يعتمد فقط على pr_warn: مع aoff=0x10 وdata_off=0x18، يكون حجم البيانات بعد الإسناد هو 0xfffffff9 (يفشل الإرفاق بعدها بـ -22 من mi_enum_attr).
[[email protected]: قام بتنسيق التغييرات باستخدام clang-format]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.