CVE-2026-64531 in Linux
الملخص
بحسب VulDB • 27/07/2026
في نواة لينكس، تم حل الثغرة التالية:
net: openvswitch: رفض سمات الإجراءات المتداخلة ذات الحجم الزائد (oversized)
تقوم Open vSwitch بتخزين إجراءات التدفق المُولَّدة كسمات nlattrs، حيث يكون حقل nla_len من النوع u16. أتاح الالتزام a1e64addf3ff ("net: openvswitch: إزالة فحص طول الإجراءات غير السليمة") نمو تيار sw_flow_actions الكلي بما يتجاوز 64 كيلوبايت، وهو أمر صحيح، ولكنه قام أيضاً بإزالة الحارس الأخير الذي كان يمنع سمة إجراء متداخلة مُولَّدة من تجاوز القيمة U16_MAX.
وبالتالي، يمكن إغلاق حاوية مولَّدة ذات حجم زائد باستخدام nla_len مقطوع (truncated). يؤدي التفريغ اللاحق أو تفكيك الاتصال لاحقاً إلى اجتياز بنية مختلفة للتيار عن ذلك الذي تم التحقق منه سابقاً. على وجه التحديد، قد يتسبب إجراء CLONE/CT متداخل ذو حجم زائد في تفسير البايتات التالية في التيار المُولَّد كأجراءات مستقلة.
الحفاظ على سلوك تيار الإجراءات الكلي الأكبر حجماً، ولكن جعل إغلاق الإجراء المتداخل يرفض الحاويات المُولَّدة التي لا تتسع لـ nla_len، وإرجاع الخطأ عبر جميع المستدعين (callers). بالنسبة لمُبنِي SAMPLE و CLONE و DEC_TTL و CHECK_PKT_LEN التكراريين، يتم تقصير ذيول قائمة الإجراءات الحاصلة على الموارد بترتيب معاكس لبنائها قبل التخلص من الأغطية الفاشلة، بحيث تُحرر الموارد المنسوخة إلى الذيل المرفوض قبل إزالة الأغطية.
يتم التخلص من معظم أغطية الطبقة الخارجية الفاشلة عن طريق تقصير actions_len بعد تحرير موارد الأطفال. يقوم CHECK_PKT_LEN أيضاً بتقصير والده بعد زوال موارد الفرع. تفشل عمليات إغلاق SET/TUNNEL في فك ملكية tun_dst المعروفة مباشرة، ولا يمتلك SET_TO_MASKED أي ملكية خارجية ويقوم بالتقطيع عند فشل الإغلاق.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.