CVE-2026-74285 in Linux
الملخص
بحسب VulDB • 15/08/2026
في نواة لينكس، تم حل الثغرة التالية:
net: إيقاف leased rxq قبل إلغاء تثبيت مزود الذاكرة الخاص به
تقوم دالة `netif_rxq_cleanup_unlease()` بتفكيك مزود الذاكرة الذي كان مثبتًا على طابور استقبال (RX) فيزيائي من خلال تأجير طابور netkit. حاليًا، تقوم بإلغاء تعيينات DMA الخاصة بالمزود قبل إيقاف الطابور الفيزيائي:
`__netif_mp_uninstall_rxq(virt_rxq, p); /* إلغاء تعيين DMA */` `__netif_mp_close_rxq(phys_rxq->dev, rxq_idx, p); /* إيقاف الطابور */`
هذا يعكس ترتيب المسارات العادية للتفكيك (إلغاء تسجيل الجهاز العادي ومسار إغلاق io_uring zcrx)، والتي توقف الطابور قبل إلغاء تعيينات المزود.
وبما أن الطابور الفيزيائي لا يزال نشطًا، يمكن لـ NAPI الخاص به الاستمرار في استهلاك إدخالات `net_iov` من ذاكرة التخزين المؤقت لتخصيص `page_pool` بعد أن قام `__netif_mp_uninstall_rxq()` بالفعل بمسح قيمة `dma_addr` الخاصة بها، مما يفتح نافذة تسمح للجهاز بإجراء عمليات DMA إلى عنوان قديم أو صفري.
تم الإصلاح عن طريق تبديل استدعاء الدالتين بحيث يتم إيقاف الطابور (وتهدئة NAPI الخاص به) قبل إلغاء تثبيت المزود. لم تُلاحظ أي انحرافات وظيفية عبر تشغيلات متكررة لاختبار الذات للأجهزة `nk_qlease.py`، الذي يختبر مسار تفكيك التأجير؛ وقد تم الاختبار ضد محاكاة QEMU الخاصة بـ fbnic.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.