CVE-2026-92499 in Linuxالمعلومات

الملخص

بحسب VulDB • 18/09/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

ext4: التحقق من إزاحة readdir قبل الوصول إلى dirent (عناصر الدليل)

يمكن لدليل تالف أن يُطلق تقرير KASAN التالي عندما تستأنف ext4_readdir() العمل من موضع غير صالح:

BUG: KASAN: use-after-free في __ext4_check_dir_entry+0x5ef/0x820 قراءة بحجم 2 بايت عند العنوان ffff88810a646000 بواسطة المهمة repro_linear/509

تتبع المكالمة (Call Trace): <TASK> dump_stack_lvl+0x53/0x70 print_report+0xd0/0x630 kasan_report+0xce/0x100 __ext4_check_dir_entry+0x5ef/0x820 ext4_readdir+0xcde/0x2b70 iterate_dir+0x1a1/0x520 __x64_sys_getdents64+0x12b/0x220 do_syscall_64+0xf9/0x540 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK>

تُبلغ KASAN عن حالة use-after-free (استخدام بعد التحرير) لأن الوصول خارج الحدود يقع في صفحة مجاورة تم تحريرها. ولا يزال مرجع إلى مخزن دليل نفسه موجوداً.

يقوم ext4_dir_llseek() بإبطال ملف تعريف cookie للدليل بحيث تعيد ext4_readdir() فحص عناصر الدليل من بداية الكتلة. ويتحقق الفحص مرة أخرى فقط من الحد الأدنى لقيمة rec_len قبل التقدم. وبالتالي، يمكن أن يؤدي rec_len التالف إلى وضع الإزاحة (offset) في مكان تكون فيه مساحة الكتلة غير كافية لعنصر دليل كامل. قد يقوم الفحص نفسه بإلغاء مرجع لتلك العنصر المقصوص، أو قد تمرره الحلقة الرئيسية إلى __ext4_check_dir_entry(). يقرأ الأخير de->rec_len قبل التحقق من النطاق. على سبيل المثال:

إزاحة الكتلة 0 4092 4096 |---- de1.rec_len = 4092 -----|----| inode الخاص بـ de2 | de2.rec_len ^ OOB (خارج الحدود)، يُبلغ عنه كحالة UAF

يبدأ de2 عند الإزاحة 4092 في هذه الكتلة بحجم 4 KiB. يتسع عقدها المكونة من أربعة بايت داخل الكتلة، لكن rec_len الخاص بها يبدأ عند الإزاحة 4096 ويتجاوز الحد الفاصل للكتلة.

الحد الأدنى للطول الآمن يعتمد على نوع العقدة (inode). تحتاج عناصر الدليل المشفرة والمطوية بحالة الأحرف (casefolded) إلى ثمانية بايتات إضافية للتجزئة، بينما يكون ذيل التحقق من صحة بيانات التعريف (metadata checksum tail) صالحاً بطول 12 بايتاً فقط.

قم بتخزين حالة ميزة التحقق من صحة بيانات التعريف في ذاكرة التخزين المؤقت واستنتج الحد الأدنى لطول عنصر الدليل بناءً على تنسيق القرص الثابت. استخدمه لتحديد الحدود لكل من الفحص مرة أخرى والإزاحة الممررة إلى الحلقة الرئيسية. أبلغ عن إزاحة تقع في ذيل كتلة مقصوصة وتخطَّ باقي الكتلة، مع الاستمرار في قبول الإزاعة التي تقع بالضبط عند الحد الفاصل للكتلة.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

16/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-407008

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!