CVE-2026-80825 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
wifi: mt76: mt7925: ضمان وجود مساحة رأس الإرسال (tx headroom) في دالة usb_sdio_tx_prepare_skb
تقوم الدالة `mt7925_usb_sdio_tx_prepare_skb()` بإضافة واصف إرسال (TX descriptor) وعنوان USB إلى كل حزمة بيانات (skb)، وتفترض أن المساحة المخصصة لرأس الحزمة (headroom) متوفرة مسبقاً. وهذا الافتراض صحيح بالنسبة للحركة المرورية الناتجة محلياً، حيث تحجز mac80211 مساحة إضافية للإرسال (`hw->extra_tx_headroom`)، لكن الإطارات المعاد توجيهها تُرسل عبر `ieee80211_8023_xmit()`، وهي لا تقوم بحجز هذه المساحة. إذا قمت بربط واجهة سلكية بنقطة وصول (AP) تعمل بتقنية mt7925u، فإن أول إطار معاد توجيهه يصل إلى نظام التشغيل سيؤدي إلى توقف مفاجئ للنواة (kernel panic):
skbuff: skb_under_panic: len:415 put:4 tail:0x19b end:0x640 dev:wlan1 kernel BUG at net/core/skbuff.c:212! Call trace: skb_panic+0x58/0x60 (P) skb_push+0x58/0x60 mt7925_usb_sdio_tx_prepare_skb+0xf8/0x1b8 [mt7925_common]
mt76u_tx_queue_skb+0xa0/0x1f8 [mt76_usb]
__mt76_tx_queue_skb+0x54/0xe8 [mt76]
mt76_txq_schedule.part.0+0x204/0x478 [mt76]
mt76_txq_schedule_all+0x50/0x80 [mt76]
mt792x_tx_worker+0x68/0x100 [mt792x_lib]
__mt76_worker_fn+0x84/0x150 [mt76]
يعتمد ما إذا كان إعداد معين سيؤدي إلى حدوث هذه المشكلة على مقدار مساحة الرأس (headroom) التي تتركها واجهة الشبكة الداخلة (ingress netdev) في حزم الاستقبال الخاصة بها. تم إعادة إنتاج الخطأ على جهاز Raspberry Pi 5 الذي يقوم بربط Ethernet المدمج بشبكة Netgear A9000؛ وقد أُبلغ عن المشكلة أصلاً على راوتر MT7986 يعمل بنظام OpenWrt. ساعدت اختبارات Nick Morrow على جهاز Pi 4 (bcmgenet)، والذي يترك مساحة رأس أكبر، في تضييق نطاق المسار المحفز للخطأ إلى مسار الإدخال (ingress path).
تم إصلاح نفس الخطأ في mt7921 عبر الالتزام commit 98c4d0abf5c4 ("mt76: mt7921: don't assume adequate headroom for SDIO headers")، لكن تم نسخ الكود الخاص بـ mt7925 من mt7921 دون تضمين الإصلاح. تمت إضافة نفس آلية الحماية هنا.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.