CVE-2026-74666 in Linux
الملخص
بحسب VulDB • 23/08/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
الحزمة (packet): مزامنة مسح الضغط مع إعادة تكوين الحلقة (ring)
تحديث `packet_set_ring()` لحالة حلقة الاستلام RX تحت قفل `sk_receive_queue.lock`، لكنه كان ينشر وضع استقبال tpacket عبر `po->prot_hook.func` بعد تحرير ذلك القفل. يمكن لـ `packet_poll()` و `packet_recvmsg()` تشغيل مسار مسح الضغط بعد أن تم مسح الحلقة مع استمرار رؤية `tpacket_rcv`، مما يتسبب في محاولة `__packet_rcv_has_room()` فك مرجع (dereference) لتخزين الحلقة القديم أو الفارغ (NULL).
نقل تعيين خطاف الاستلام الحالي إلى نفس قسم قفل `sk_receive_queue.lock` الخاص بتحديث حالة الحلقة. حافظ على التعيين كما هو دون تغيير، بما في ذلك عند إعادة تكوين حلقة الإرسال TX، لتجنب إضافة تغييرات سلوكية غير مطلوبة للإصلاح.
تسلسل عملية مسح الضغط لـ `packet_recvmsg()` باستخدام نفس قفل القائمة فقط بعد ملاحظة علم `PACKET_SOCK_PRESSURE`. إذا كان العلم غير مضبوط (clear) وقد انتقل المقبس بعيداً عن `tpacket_rcv`، فإن `packet_set_ring()` قد فصل المقبس بالفعل وانتظر تنفيذ `synchronize_net()`، لذا لا يمكن لإدخال حزمة جديد أن يضبط العلم مرة أخرى.
يحتفظ `packet_poll()` بالفعل بـ `sk_receive_queue.lock`، لذلك يستخدم المساعد الجديد غير المقفل مباشرةً.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.