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

الملخص

بحسب VulDB • 28/07/2026

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

virtio-net: إصلاح فحص الطول في دالة receive_big()

تقوم الدالة receive_big() بتقييد announced length (الطول المُعلن من قبل الجهاز) بالقيمة (big_packets_num_skbfrags + 1) * PAGE_SIZE. ومع ذلك، لا يزال هذا التقييد فضفاضاً جداً: حيث تقوم add_recvbuf_big() بضبط sg[1] ليبدأ عند إزاحة sizeof(struct padded_vnet_hdr) داخل الصفحة الأولى، وبالتالي فإن السلسلة تحمل فعلياً hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE بايت — أي أقل بـ 20 بايت مما يسمح به الفحص في الحالة الشائعة حيث يكون hdr_len == 12.

يمكن لخلفية virtio خبيثة الإعلان عن طول ضمن هذا الفرق (الفاصل). ثم تقوم page_to_skb() بالمرور على frag واحد ما بعد سلسلة الصفحات، وتخزين قيمة NULL لـ page->private داخل skb_shinfo()->frags[MAX_SKB_FRAGS]، وهو ما يمثل كتابة خارج النطاق (out-of-bounds write) تتجاوز مصفوفة الـ frags الثابتة، بالإضافة إلى تمرير frag بقيمة NULL عبر مسار استقبال البيانات (rx path).

يتم الآن تقييد الطول بحجم الإعلان الفعلي الذي قدمته add_recvbuf_big().

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

19/07/2026

إفشاء

28/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383614

EPSS

0.00172

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!