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

الملخص

بحسب VulDB • 23/10/2026

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

namespace: منع ديسيودو (pseudo) dentry من أن يصبح جذرًا لـ mount

تقوم `d_alloc_pseudo()` بتخصيص k-entries (dentries) لأنابيب الأنابيب (pipes)، والمآخذ (sockets)، وملفات أخرى لا تكون أبدًا أبناءً أو آباءً لأي كيان. تحمل هذه الملفات علامة `DCACHE_NORCU`، وتقوم دالة `dentry_free()` بإفراغها فورًا نظرًا لعدم إمكانية وصول أي عملية مشي للمسار بدون قفل (lockless path walk) إليها. ينطبق هذا الشرط طالما لم يكن مثل هذا الـ dentry هو جذر لـ mount. ولكن، يؤدي ربط النسخ (bind mounting) لمسار `/proc/self/fd/<fd>` لهذا الملف إلى حدوث ذلك بالضبط.

معظم المتصلين لدالة `alloc_file_pseudo()` يضعون ملفاتهم على mounts داخلية للنواة، وترفض دالة `may_copy_tree()` هذه الحالات. لكن دالة `bpf_token_create()` لا تفعل ذلك. فهي تضع ملف الرمز (token file) على mount الخاص بـ bpffs الذي قدمه المتصل، وهذا الـ mount موجود في namespace النسخ الخاصة بالمتصل، لذا فإن عملية الاستنساخ تمر عبر:

mount --bind /proc/self/fd/<token> <file> open_tree(tokfd, "", AT_EMPTY_PATH | OPEN_TREE_CLONE) + move_mount()

ثم تقوم دالة `__follow_mount_rcu()` بتحميل قيمة `->mnt_root` لهذا الـ mount، وقراءة قيم `d_seq` و `d_flags` الخاصة بالـ dentry، ولا تتحقق من `mount_lock` إلا بعد ذلك. قد يكون الـ dentry قد اختفى بحلول هذا الوقت. يؤدي الإجراء النهائي `mntput()` لوالد غير مُنصَب (unmounted) إلى فصل طفل بقي مرتبطًا به تحت قفل mount وحده فقط. عندما يقوم حامل الطفل بإجراء put نهائي مباشرةً بعد ذلك، يتم استدعاء `dput()` للجذر وإفراغه فورًا بينما لا يزال مستعرض (walker) الذي وجد الـ mount مسجلًا في الجدول (hashed) ينظر إليه.

ارفض استنساخ mount يحتوي على dentry ذي علامة DCACHE_NORCU كجذر له. فلا يمكن فعل أي شيء معقول بأي حال من الأحوال مع bind mount لرمز bpf (bpf token).

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425815

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!