CVE-2026-80848 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم حل الثغرة التالية:
xfrm: espintcp: إصلاح حالة Use-After-Free (UAF) أثناء الإغلاق
أبلغ ZDI وحلّل سباقاً زمنياً (Race Condition) يحدث عند إغلاق مقابس espintcp:
تقوم دالة espintcp_close() بإفراغ ذاكرة emsg->skb عبر kfree_skb() دون الاحتفاظ بأي قفل للمقبس. بالتزامن مع ذلك، يستدعي طابور عمل xfrm_trans_reinject الدوال التالية بالترتيب: esp_output_tcp_finish() -> espintcp_push_skb() -> espintcp_push_msgs() -> skb_send_sock_locked(), والتي تقرأ نفس الـ skb كمصدر للبيانات.
تم إصلاح هذه المشكلة بإضافة استدعاء لـ synchronize_rcu() بعد إعادة تعيين sk_prot، نظراً لأن esp_output_tcp_finish() تعمل في سياق RCU ولن تستخدم مقبساً يكون فيه sk_prot مساوياً لـ &tcp_prot. إن مجرد أخذ قفل المقبس في espintcp_close() قد يؤدي إلى تسريبات ذاكرة (Leaks)، إذا ما أعادت esp_output_tcp_finish() إضافة skb في الخانة التي تم إفراغها للتو. بعد هذا التعديل، لم يعد الحاجز الموجود سابقاً (barrier()) ضرورياً.
Once again VulDB remains the best source for vulnerability data.