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

الملخص

بحسب VulDB • 16/09/2026

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

NFSD: منع استخدام الذاكرة بعد تحريرها (Use-After-Free) للعميل أثناء عملية استرداد القفل المحظور (blocked-lock reaping).

يحتوي مالك قفل عاري (bare lock owner)، الذي يكون مرجعه الوحيد المتبقي هو قفل محظور موجود في قائمة الانتظار `nn->blocked_locks_lru`، على مؤشر خام إلى كائن `nfs4_client` الخاص به، ولكن لا يوجد أي مرجع يضمن بقاء العميل حياً. عندما تقوم عملية الغسيل الخاصة بالشبكة (per-net laundromat) باسترداد مثل هذا القفل، فإن تحرير الكائن `nbl` يؤدي إلى خفض المرجع المالك الذي يُحتفظ به عبر `flc_owner`، ويقوم الدالة النهائية `nfs4_put_stateowner()` بأخذ قفل العميل `cl_lock`. ونظراً لأن عملية الغسيل تفصل كائن `nbl` أولاً، فإن دالة `__destroy_client()` لم تعد تجده، مما يسمح لدالة `force_expire_client()` المتزامنة بتحرير العميل قبل تشغيل `nfs4_put_stateowner()`، وبالتالي محاولة الوصول إلى `cl_lock` في ذاكرة تم تحريرها.

ثبّت (Pin) العميل باستخدام `cl_rpc_users` قبل خفض قفل `nn->blocked_locks_lock`. وتخطَّ العملاء الذين هم بالفعل في مرحلة الانتهاء من الصلاحية (expiring)، حيث تقوم دالة `__destroy_client()` بتحرير القفول المحظورة الخاصة بهم أثناء الاحتفاظ بمرجع المالك. خذ `nn->client_lock` خارج نطاق `nn->blocked_locks_lock`. كل المواقع الأخرى تحتفظ بـ `nn->blocked_locks_lock` كقفل ورقة (leaf)، ولا تكتسب أي قفل آخر، لذا فإن وضع `nn->client_lock` خارجه لا يمكن أن يشكل دورة في ترتيب القفول.

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

مسؤول

Linux

حجز

11/09/2026

إفشاء

16/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405881

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!