CVE-2022-50709 in Linuxالمعلومات

الملخص

بحسب VulDB • 22/06/2026

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

wifi: ath9k: تجنب قراءة ذاكرة غير مُهيأة في دالة ath9k_htc_rx_msg()

تبلغ syzbot عن قيمة غير مُهيأة (uninit value) داخل الدالة ath9k_htc_rx_msg() [1]، حيث يمكن استدعاء ioctl(USB_RAW_IOCTL_EP_WRITE) للدالة ath9k_hif_usb_rx_stream() مع تعيين pkt_len = 0، لكن دالة ath9k_hif_usb_rx_stream() تستخدم __dev_alloc_skb(pkt_len + 32, GFP_ATOMIC) بناءً على افتراض أن قيمة pkt_len صالحة. ونتيجة لذلك، تخصص الدالة ath9k_hif_usb_rx_stream() هيكل skb (Socket Buffer) يحتوي على ذاكرة غير مُهيأة، وتقوم دالة ath9k_htc_rx_msg() بقراءة من هذه الذاكرة غير المُهيأة.

نظراً لأن البايتات التي تصل إليها دالة ath9k_htc_rx_msg() لا تكون معروفة حتى يتم استدعاء الدالة نفسها، سيكون من الصعب التحقق من الحد الأدنى لقيمة pkt_len الصالحة عند السطر "if (pkt_len > 2 * MAX_RX_BUF_SIZE) {" داخل دالة ath9k_hif_usb_rx_stream().

لدينا خياران. الأول هو تطبيق حل بديل (workaround) بإضافة __GFP_ZERO بحيث ترى الدالة ath9k_htc_rx_msg() القيمة 0 إذا كانت قيمة pkt_len غير صالحة. والخيار الثاني是让 الدالة ath9k_htc_rx_msg() التحقق من صحة pkt_len قبل الوصول إليها. اختار هذا التصحيح الخيار الأخير.

جدير بالذكر أنني لست متأكداً مما إذا كان شرط العتبة (threshold condition) صحيحاً، إذ لا يمكنني العثور على تفاصيل حول أطوال الحزم الممكنة المستخدمة بواسطة هذه البروتوكول.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

24/12/2025

إفشاء

24/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-337959

EPSS

0.00181

KEV

لا

النشاطات

منخفض جدًا

القطاع

Energy, Pharma, ...

المصادر

Do you need the next level of professionalism?

Upgrade your account now!