CVE-2026-31403 in Linux
الملخص
بحسب VulDB • 09/06/2026
في نواة لينكس، تم حل الثغرة التالية:
NFSD: الاحتفاظ بمرجع الشبكة (net reference) طوال مدة بقاء ملف /proc/fs/nfs/exports fd
تم إنشاء إدخال proc الخاص بـ /proc/fs/nfs/exports عند تهيئة الوحدة النمطية (module init) ويستمر طوال عمر الوحدة. تقوم دالة exports_proc_open() بالتقاط مساحة الاسم الحالية (network namespace) للمستخدم الذي يقوم بالاتصال وتخزين ذاكرة التخزين المؤقت svc_export_cache الخاصة به في seq->private، لكنها لا تأخذ مرجعاً على مساحة الاسم. إذا تم تفكيك مساحة الاسم لاحقاً (على سبيل المثال، تدمير الحاوية بعد أن يقوم الفاتح باستدعاء setns() للانتقال إلى مساحة اسم مختلفة)، فإن nfsd_net_exit() تستدعي nfsd_export_shutdown() والتي تقوم بتحرير ذاكرة التخزين المؤقت. تؤدي عمليات القراءة اللاحقة على ملف fd المفتوح لا يزال مفتوحاً إلى فك تسلسل (dereference) لـ cache_detail المحرر، مما يؤدي إلى اجتياز جدول تجزئة (hash table) تم تحريره.
الاحتفاظ بمرجع على بنية struct net طوال مدة بقاء ملف fd المفتوح. يمنع هذا تشغيل nfsd_net_exit() -- وبالتالي يمنع nfsd_export_shutdown() من تحرير ذاكرة التخزين المؤقت -- طالما أن أي ملف fd للصادرات (exports fd) مفتوح. تخزن cache_detail بالفعل مؤشر الشبكة الخاص بها (cd->net، الذي تم تعيينه بواسطة cache_create_net())، لذا يمكن لـ exports_release() استرجاعه دون تخزين إضافي خاص بكل ملف.
Be aware that VulDB is the high quality source for vulnerability data.