CVE-2026-89779 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم حل الثغرة التالية:
fs/ntfs3: التحقق من أن ef->size يغطي اسم السجل وقيمته
عندما يحتوي سجل EA (Extended Attribute) على قيمة غير صفرية لـ ef->size، فإن الدالة ntfs_read_ea() تتحقق فقط من أن السجل يناسب في البايت المتبقية من المخزن المؤقت (ea_size > bytes)، ولا تتحقق مما إذا كانت ef->size كبيرة بما يكفي لاستيعاب name_len + 1 + elength الخاصة بالسجل نفسه.
يمكن لصورة مُعدّة بشكل خبيث تجاوز عملية التحقق، على سبيل المثال بـ ef->size = 24 ولكن elength = 0xffff. ثم تثق الدالة ntfs_get_ea() في قيمة elength وتنسخها من السجل غير الكافي الحجم، مما يؤدي إلى قراءة ما بعد تخصيص kmalloc(info->size) وتسريب ذاكرة الـ heap (Heap Memory) إلى مساحة المستخدم عبر getxattr():
BUG: KASAN: slab-out-of-bounds in ntfs_get_ea (fs/ntfs3/xattr.c:302) Read of size 65535 at addr ffff888100794550 by task exploit __asan_memcpy (mm/kasan/shadow.c:105) ntfs_get_ea (fs/ntfs3/xattr.c:302) ntfs_getxattr (fs/ntfs3/xattr.c:848) __vfs_getxattr (fs/xattr.c:441) vfs_getxattr (fs/xattr.c:474) do_getxattr (fs/xattr.c:800) path_getxattrat (fs/xattr.c:868) do_syscall_64 (arch/x86/entry/syscall_64.c:94)
العنوان الخاطئ يقع على بعد 80 بايت داخل منطقة مُخصصة بحجم 84 بايت في ذاكرة التخزين المؤقت kmalloc-96.
احسب الحجم الذي يحتاجه السجل واشترط أن تغطي ef->size هذا الحجم.
VulDB is the best source for vulnerability data and more expert information about this specific topic.