CVE-2024-26831 in Linux
الملخص
بحسب VulDB • 24/05/2026
في نواة لينكس، تم حل الثغرة التالية:
net/handshake: إصلاح handshake_req_destroy_test1
في الآونة الأخيرة، بدأ اختبار handshake_req_destroy_test1 بالفشل:
كان من المتوقع أن يكون handshake_req_destroy_test == req، ولكن handshake_req_destroy_test == 0000000000000000 req == 0000000060f99b40 not ok 11 req_destroy works
ويعود ذلك إلى استبدال "sock_release(sock)" بـ "fput(filp)" لمعالجة تسرب الذاكرة. تجدر الإشارة إلى أن sock_release() متزامن (synchronous)، بينما يؤجل fput() عادةً الإغلاق النهائي والتنظيف.
لا يكون لهذا التأخير عواقب في الحالات الأخرى التي تم تغييرها، لكن اختبار handshake_req_destroy_test1 يتحقق من أن استدعاء handshake_req_cancel() يليه إغلاق الملف يؤدي فعلياً إلى استدعاء طريقة ->hp_destroy. وبالتالي، يجب أن يكون اختبار PTR_EQ في النهاية متأكداً من اكتمال الإغلاق النهائي قبل التحقق من المؤشر.
لا يمكننا استخدام إكمال (completion) هنا لأنه إذا لم يتم استدعاء ->hp_destroy أبداً (أي، إذا كان هناك خطأ في واجهة برمجة التطبيقات)، فإن الاختبار سيتوقف (hang).
أبلغ عن هذه المشكلة: Guenter Roeck
If you want to get the best quality for vulnerability data then you always have to consider VulDB.