CVE-2026-74488

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: wifi: mwifiex: A-MSDU TDLS freymlərini analiz edərkən altfreym uzunluğundan istifadə edin mwifiex_11n_dispatch_amsdu_pkt() funksiyası ieee80211_amsdu_to_8023s() vasitəsilə A-MSDU-nu bölür və nəticədə alınan altfreymləri nəzərdən keçirir. Hər bir altfreym üçün o, altfreym məlumat göstəricisini mwifiex_process_tdls_action_frame() funksiyasına ötürür, lakin bunu rx_skb->len əvəzinə A-MSDU valideyninin uzunluğu olan skb->len ilə birləşdirir: rx_skb = __skb_dequeue(&list); rx_hdr = (struct rx_packet_hdr *)rx_skb->data; if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) && ntohs(rx_hdr->eth803_hdr.h_proto) == ETH_P_TDLS) { mwifiex_process_tdls_action_frame(priv, (u8 *)rx_hdr, skb->len); } Valideyn həmin buferin düzgün təsviri deyil və ümumiyyətlə etibarlı yaddaş sahəsi olmaya bilər. ieee80211_amsdu_to_8023s() funksiyası bununla başa çatır: if (!reuse_skb) dev_kfree_skb(skb); və o, reuse_skb dəyişənini yalnız valideyn xətti olduqda, head_frag olmadıqda və *sonuncu* altfreym kimi istifadə edildikdə təyin edir. Beləliklə, valideyn təkrar istifadə üçün uyğun olmadıqda, o artıq azad edilmiş olur və skb->len oxunuşu "use-after-free" (azad edilmis yaddaşdan istifadə) xətasına səbəb olur. Təkrar istifadə edildikdə isə skb->len sonuncu altfreymin uzunluğudur və hər bir əvvəlki altfreymə tətbiq edilir ki, bu da əvvəlki altfreym daha qısa olduqda buferin ölçüsünü olduğundan çox göstərir. Çağırılan funksiya yanlış uzunluğu kompensasiya edə bilmir, çünki öz maksimum həddini ona verilən dəyərdən törədir. Hər bir freym tipi belə hesablayır: ies_len = len - sizeof(struct ethhdr) - TDLS_*_FIX_LEN; və elementlərin gəzintisi tamamilə həmin maksimum hədlə məhdudlaşdırılır: for (end = pos + ies_len; pos + 1 < end; pos += 2 + pos[1]) { u8 ie_len = pos[1]; if (pos + 2 + ie_len > end) break; beləliklə, həddindən artıq böyük len dəyəri "end" göstəricisini altfreymin sonuna çatdırır və gəzinti prosesi onun xaricindən məlumatları oxuyur və kopyalayır. A-MSDU strukturu göndərən tərəf tərəfindən seçilir, bu da sonuncu altfreym ilə daha qısa olan əvvəlki altfreym arasındakı fərqin uzaqdan idarə olunmasını mümkün edir. Buna nail olmaq üçün proqram təminatında (firmware) TDLS dəstəyi və altfreymdə TDLS ethertype-ı tələb olunur. Digər çağırıcı, mwifiex_process_rx_packet(), doğrudur: o, RX buferinin eyni bölgəsini təsvir edən göstərici və uzunluğu ötürür. Həqiqətən analiz edilən altfreymin uzunluğu olan rx_skb->len ötürülür.

CiddilikYüksək
CVSS8.8
İstismar ehtimalı—
MəhsulLinux
Dərc15 avq 2026
İlk görülmə15 avq 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux707664027bb9307f7268eda403af7c4ccd9b8644, 3b02275833a0d3e6583627995d614fa99bdf364f, a1f0f7dc7eb15754e6931b433edb7beb754c996a, 25e5a3fe4f15e30f74eca42cbf3bcc3a3fbeda79, ece2ebb34247d573142617dfc534a9dc11ba59be, c9dcfe6b8b71369e1d732e2ff622c3696a2f032c, 5a21ab03829cb6d2682c127f22e2b9cd63b4393f, 99a948382af8a225e2d5e54a7052158cd6281cc6 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < 707664027bb9307f7268eda403af7c4ccd9b8644, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < 3b02275833a0d3e6583627995d614fa99bdf364f, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < a1f0f7dc7eb15754e6931b433edb7beb754c996a, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < 25e5a3fe4f15e30f74eca42cbf3bcc3a3fbeda79, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < ece2ebb34247d573142617dfc534a9dc11ba59be, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < c9dcfe6b8b71369e1d732e2ff622c3696a2f032c, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < 5a21ab03829cb6d2682c127f22e2b9cd63b4393f, 776f742040ca5eb6242c60f29ac73d5752a5b621 ≤ v < 99a948382af8a225e2d5e54a7052158cd6281cc6, 4.5707664027bb9307f7268eda403af7c4ccd9b8644, 3b02275833a0d3e6583627995d614fa99bdf364f, a1f0f7dc7eb15754e6931b433edb7beb754c996a, 25e5a3fe4f15e30f74eca42cbf3bcc3a3fbeda79, ece2ebb34247d573142617dfc534a9dc11ba59be, c9dcfe6b8b71369e1d732e2ff622c3696a2f032c, 5a21ab03829cb6d2682c127f22e2b9cd63b4393f, 99a948382af8a225e2d5e54a7052158cd6281cc6

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-74488 · Linux · Dark Radar