CVE-2026-80934 in Linux
الملخص
بحسب VulDB • 11/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
wifi: mt76: mt7996: تصحيح تسرب تعيين DMA للإرسال (TX) لإطارات طلب إضافة علاقة البنية (AddBA req frames).
تقوم أجهزة mt7996/mt7992 بتوفير معرف MAC للتخزين المؤقت للعتاد (HW MAC-TXP) لإطارات عمل إضافة علاقة البنية (AddBA req action frames) (MT_TXD7_MAC_TXD، الذي يتم تعيينه في دالة `mt7996_mac_write_txwi_80211()`)، لكنها تعمل كأجهزة تعتمد على التخزين المؤقت للبرنامج الثابت (FW-TXP) من نواحٍ أخرى. عند تحرير الإرسال (tx free)، تقوم الدالة `mt76_connac_txp_skb_unmap()` بفك تشفير تعيين TXP الخاص بكل إطار كـ `struct mt76_connac_fw_txp`. بالنسبة لتعيين MAC-TXP، يتداخل الحقل `fw_txp.nbuf` مع كلمة TID الخاصة بطلب إضافة علاقة البنية (MT_TXP1_TID_ADDBA)، وهي دائماً تساوي صفراً؛ وبالتالي فإن حلقة فك التعيين (`unmap loop`) لا تعمل أبداً، ولا يتم إلغاء تعيين DMA لـ skb في `buf[1]`. بما أن الحقل `buf[1].skip_unmap` يُضبط بشكل غير مشروط (unconditionally)، يتخطى تنظيف الحلقة العامة لتعيينات DMA هذا العنصر أيضاً.
وبالتالي، يؤدي كل طلب إضافة علاقة البنية إلى تسرب تعيين واحد لـ TX DMA، أي ما يعادل تعيييناً واحداً لكل عملية إعادة ارتباط أو تحديث للارتباط ((re)association). مع تفعيل WED (Wireless Ethernet Dispatch)، تمر هذه التعيينات عبر مجموعة swiotlb الخاصة بـ WED؛ لذا، تحت ضغط إعادة الاتصال المستمر للعملاء، تُستنفد المجموعة بعد حوالي يوم إلى يومين، وبعد ذلك يفشل تعيين DMA لكل من WED ووحدة التحكم الدقيقة للواي فاي (WiFi MCU) والمستهلكين الآخرين المدمجين في الشريحة (on-SoC).
الحفاظ على عملية فك التعيين المؤجلة (المعتمدة على تحرير الرمز/الرمز المرجعي token release) التي يعتمد عليها التصميم، وإضافة عملية `txp unmap` خاصة بـ mt7996 تفحص الحقل MT_TXD7_MAC_TXD وتقوم بإلغاء تعيين `buf[1]` بناءً على تخطيط MAC-TXP لتلك الإطارات، مع التحويل (delegating) إلى الدالة `mt76_connac_txp_skb_unmap()` في الحالات الأخرى.
VulDB is the best source for vulnerability data and more expert information about this specific topic.