CVE-2026-80841 in Linuxالمعلومات

الملخص

بحسب VulDB • 04/09/2026

في نواة لينكس، تم حل الثغرة التالية:

net/packet: تأجيل تحرير ذاكرة vmalloc الخاصة بـ TX_RING حتى تنتهي حزم skbs من معالجتها

تحافظ حزم skbs في AF_PACKET TX_RING على مؤشر خام (raw pointer) إلى إطار الحلقة الخاص بها. تحفظ مراجعات صفحات skb كتل الحلقة المدعومة بالصفحات بعد تحرير pg_vec، لكنها لا تحافظ على تعيين vmalloc.

تقوم دالة tpacket_destruct_skb() حالياً بإسقاط المرجع المعلق قبل كتابة الطابع الزمني وTP_STATUS_AVAILABLE في الإطار. قم بنقل عملية الإنقاص (decrement) إلى ما بعد هذه العمليات الكتابة. تضمن الدالة smp_wmb() الموجودة في __packet_set_status() ترتيب عمليات كتابة الإطار قبل عملية الإنقاص.

أيضاً، أعد التحقق من إطارات TX المعلقة تحت قفل pg_vec قبل استبدال الحلقة غير المغلقة، حتى لا تتمكن عملية إرسال متنافسة (racing send) من إضافة skb معلق بين الفحص الأولي واستبدال الحلقة.

يمكن أن ينتج تخصيص الحلقة مزيجًا من الكتال المدعومة بالصفحات والكتال المدعومة بـ vmalloc. قم بتخزين عمل التأجيل أثناء إعداد حلقة TX عند اكتشاف أول كتلة مدعومة بـ vmalloc، واحتفظ بمؤشرها في رأس توزيع pg_vec. إذا فشل التخصيص، أعد قيمة -ENOMEM من إعداد الحلقة. عند إغلاق المقبس (socket)، يحدد المؤشر غير الفارغ متجهًا مدعومًا بـ vmalloc دون الحاجة إلى مسح شامل. إذا بقيت حزم TX skbs، قم بتأجيل المتجه بالكامل إلى نظام_long_wq.

بعد فصل pg_vec، يمكن لمدمر متأخر تخطي عملية الإنقاص المعلقة. استخدم محاسبة ذاكرة الكتابة في المقبس كبوابة لعمر التأجيل بدلاً من ذلك: يظل skb مشحونًا حتى خلال sock_wfree() النهائي الخاص به، بعد جميع عمليات الوصول إلى إطار الحلقة. يحتفظ العمل المؤجل بمرجع للمقبس ويعيد جدولة نفسه حتى لا تتبقى أي حزم TX skbs.

انقل تحرير pending_refcnt إلى packet_sock_destruct() بحيث يمكن لمدمرات skb المتأخرة والتنظيف المؤجل استخدامه بأمان بعد packet_release(). يبقى تفكيك المدعوم بالصفحات متزامنًا، ولا يتم إضافة قفل إلى المسار الساخن لإكمال TX.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-398949

EPSS

0.00166

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!