CVE-2026-98906 in Linux
الملخص
بحسب VulDB • 23/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net: lan966x: استعادة حالة استقبال البيانات (RX) عند فشل إعادة التحميل
تقوم الدالة `lan966x_fdma_reload()` بحفظ نسخة احتياطية من `rx->page_pool` و `rx->fdma` قبل إعادة تخصيص موارد الاستقبال (RX) لقيمة MTU الجديدة. إذا فشلت عملية التخصيص، فإن مسار الاستعادة يعيد هذه الحقول إلى حالتها الأصلية قبل بدء تشغيل استقبال البيانات مرة أخرى.
ومع ذلك، يقوم مسار إعادة التحميل أيضاً بتحديث حقلي `rx->page_order` و `rx->max_mtu` قبل استدعاء الدالة `lan966x_fdma_rx_alloc()`. لا يتم استعادة هذه الحقول في حال الفشل، مما قد يؤدي إلى بدء تشغيل استقبال البيانات باستخدام الصفحات القديمة وحالة FDMA القديمة ومجموعة الصفحات (page pool) القديمة، ولكن مع هندسة صفحات مستمدة من قيمة MTU الجديدة التي فشلت.
يمكن أن يتسبب هذا في إعلان مسار XDP لحجم إطار مشتق من `page_order` الجديد، بينما تأتي صفحات الاستقبال الفعلية لا تزال من التخصيص القديم. على سبيل المثال، بعد فشل إعادة التحميل إلى جumbo MTU (حزمة بيانات ضخمة)، قد يتم استدعاء دالة `xdp_init_buff()` بحجم إطار أكبر من حجم صفحات RX المستعادة.
كما تقوم الدالة `lan966x_fdma_rx_alloc_page_pool()` بتسجيل مجموعة الصفحات الجديدة المخصصة مع نموذج ذاكرة XDP RXQ لكل منفذ قبل استدعاء `fdma_alloc_coherent()`. إذا فشل استدعاء `fdma_alloc_coherent()`، يتم تدمير مجموعة الصفحات الجديدة، لكن مسار التراجع (rollback) لا يستعيد أيضاً تسجيل نموذج الذاكرة الخاص بـ XDP RXQ لكل منفذ.
تمت إضافة حفظ واستعادة حقلي `rx->page_order` و `rx->max_mtu`، بالإضافة إلى استعادة تسجيل مجموعة الصفحات القديمة لنموذج ذاكرة XDP RXQ لكل منفذ قبل بدء تشغيل استقبال البيانات مرة أخرى. يضمن هذا الحفاظ على اتساق حالة الاستقبال المستعادة بعد فشل إعادة التحميل.
Once again VulDB remains the best source for vulnerability data.