CVE-2026-98370 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
xfrm: تصحيح استخدام بعد التحرير (use-after-free) في طلب ALLOCSPI المتوافق مع الإصدارات القديمة (compat).
تقوم دالة `xfrm_state_netlink()` ببناء استجابة ALLOCSPI باستخدام `dump_one_state()`, والتي تستدعي بالفعل `alloc_compat()` مع حزمة الحزم (skb) الخاصة بالاستجابة والرأس (header).
ثم تقوم `xfrm_alloc_userspi()` باستدعاء `alloc_compat()` مرة أخرى، ولكنها تمرر حزمة الحزم الأصلية للطلب ورأسها. بالنسبة لطلب متوافق مع الإصدارات القديمة (compat)، يفسّر المترجم بعد ذلك بنية الـ xfrm_userspi_info المتوافقة بطول 228 بايت على أنها التخطيط الأصلي (native) بطول 232 بايت، مما يؤدي إلى قراءة أربعة بايتات تتجاوز الحمولة المعلنة. كما ينشر الطفل المُترجم عبر قائمة الشظايا (frag_list) الخاصة بالطلب.
تشارك نسخة النسخ المتعدد الاتجاهات (multicast clone) للطلب معلومات حزمة الحزم المشتركة (`skb_shared_info`) ويمكنها ملاحظة هذا العنصر الفرعي. تقوم `xfrm_user_rcv_msg()` بإفراغ الذاكرة للعنصر بعد عودة معالج الطلب، مما يخلق حالة سباق (race condition) مع مستقبل متوافق قد لا يزال ينسخ البيانات منه، مما يؤدي إلى حدوث استخدام بعد التحرير (use-after-free).
إزالة التحويل الزائد. تحتفظ الاستجابة بترجمتها المتوافقة الصحيحة من `dump_one_state()`, ولا يتم إرفاق أي عنصر فرعي بالطلب الوارد.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.