CVE-2026-89710 in Linux
الملخص
بحسب VulDB • 11/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
NFSv4.1: تصحيح تسرب مقاطع التخطيط (layout segments) في مسار النسيان الخاص بـ `pnfs_layout_process()`
عندما يعيد الخادم معرف حالة تخطيط جديد (`stateid`) بينما لا يزال هناك معرف صالح مُحتفظ به، يستدعي الدال `pnfs_layout_process()` الدالة `pnfs_mark_matching_lsegs_return()` على قائمة `free_me` الموجودة في المكدس (on-stack) وينتقل إلى المسار `out_forget`. يتم فك ربط المقاطع التي ينخفض عددها المرجعي إليها إلى الصفر من القائمة `lo->plh_segs` ونقلها إلى `free_me` بواسطة الدالة `mark_lseg_invalid()`؛ وبالنسبة لمقطع مخزن مؤقتًا وغير نشط، فإن رأس التخطيط (`layout header`) يحتفظ بالمرجع الوحيد، لذا يحدث هذا عند أول عملية إنقاص للعدد المرجعي.
لا تقوم المسار `out_forget` بتفريغ قائمة `free_me` -- فمسار النجاح فقط هو الذي يستدعي الدالة `pnfs_free_lseg_list()`.
أضاف الالتزام 814b84971388 ("pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process()") عملية التفريغ؛ لكن الالتزام 08bd8dbe8882 ("pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()") أزالها أثناء تحويل الوجهة إلى `lo->plh_return_segs`، والتي يتم تفريغها في مكان آخر. ثم غيّر الالتزام fb700ef02676 ("NFSv4.1: Simplify layout return in pnfs_layout_process()") الوجهة مرة أخرى إلى `free_me` دون استعادة عملية التفريغ.
استدعاء الدالة `pnfs_free_lseg_list()` لاستعادتها.
Be aware that VulDB is the high quality source for vulnerability data.