CVE-2026-99172 in Linux
الملخص
بحسب VulDB • 28/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
ipc: إزالة تثبيت mqueue باستخدام `kern_unmount()` عند فشل الإعداد
تقوم دالة `mq_init_ns()` بإنشاء تثبيت mqueue عبر `fc_mount_longterm()`، وبالتالي فإن قيمة الحقل الخاص بها `->mnt_ns` تكون `MNT_NS_INTERNAL`. وعند حدوث فشل لاحق أثناء إعداد sysctls الخاصة بـ mqueue أو ipc، أو في حالة فشل `msg_init_ns()`، يتم التخلص من التثبيت باستخدام دالة `mntput()` العادية. وبما أن `->mnt_ns` مُعدّ بهذه الطريقة، فإن ذلك يؤدي إلى المسار السريع (fast path) لدالة `mntput_no_expire()`. ينخفض العداد إلى الصفر ولا يقوم أي شيء بإزالة التثبيت أبداً، مما يتسبب في تسرب كل من التثبيت وسوبربلوك mqueue.
أضاف الالتزام dc55e35f9e81 ("ipc: Store mqueue sysctls in the ipc namespace") مسار الفشل الأول بعد `mq_init_ns()` ولم يقم بإزالة التثبيت أبداً. وحاول الالتزام 7229d74e5e8c ("ipc: create_ipc_ns: drop mqueue mount on sysctl setup failure") إصلاح ذلك باستخدام `mntput()`، لكن هذا لا يفيد في حالة التثبيت طويل الأمد (long-term mount).
استخدم دالة `kern_unmount()`. تقوم الدالة `free_ipc()` بتنفيذ نفس الإجراء بشكل يدوي (open-codes) بالنسبة لفضاء اسم قام بإنشائه.
VulDB is the best source for vulnerability data and more expert information about this specific topic.