CVE-2026-46133

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: RDMA/rxe: Naməlum opkodları ICRC emalından əvvəl rədd edin Commit 7244491dab34 ("RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv") tətbiq edildikdən sonra belə, tək bir autentifikasiya olunmamış UDP paketi hələ də panikaya səbəb ola bilər. Həmin yamaq payload_size() alt axınını (underflow) yalnız qısa paketləri olan etibarlı opkodlar üçün həll etmişdir, naməlum opkod daşıyan paketlər üçün yox. Aşağıda təsvir olunan naməlum-opcode OOB oxuması həmin commit-dən əvvəl mövcud idi və ilkin Soft RoCE drayverinə qədər uzanır. Orada əlavə edilmiş yoxlama belədir: pkt->paylen < header_size(pkt) + bth_pad(pkt) + RXE_ICRC_SIZE burada header_size(pkt), rxe_opcode[pkt->opcode].length şəklində genişlənir. rxe_opcode[] massivi 256 elementdən ibarətdir, lakin yalnız təyin edilmiş IB opkodları üçün doldurulub; hər hansı digər element (məsələn, 0xff opkodu) sıfırla başladılır, buna görə də length == 0 olur və yoxlama aşağıdakı hala çevrilir: pkt->paylen < 0 + bth_pad(pkt) + RXE_ICRC_SIZE bu isə pkt->paylen-i kifayət qədər məhdudlaşdırmır. Daha sonra rxe_icrc_hdr() funksiyası bunu hesablayır: rxe_opcode[pkt->opcode].length - RXE_BTH_BYTES length == 0 olduqda bu alt axına (underflow) səbəb olur və rxe_crc32() funksiyasına çox böyük bir dəyər ötürür ki, bu da skb faydalı yükünün (payload) sərhədlərdən kənar (out-of-bounds) oxunmasına gətirib çıxarır. Həmin düzəliş tətbiq edilmiş v7.0-rc7 versiyasında, CONFIG_RDMA_RXE=y və CONFIG_KASAN=y parametrləri ilə QEMU/KVM-də, aşağıdakı əmrədən sonra təkrar istehsal edildi: rdma link add rxe0 type rxe netdev eth0 BTH opcode=0xff və QPN=IB_MULTICAST_QPN ilə 4791 portuna göndərilən tək bir 48 baytlıq UDP paketi bunları tetiklir: BUG: KASAN: slab-out-of-bounds in crc32_le+0x115/0x170 Read of size 1 at addr ... The buggy address is located 0 bytes to the right of allocated 704-byte region Call Trace: crc32_le+0x115/0x170 rxe_icrc_hdr.isra.0+0x226/0x300 rxe_icrc_check+0x13f/0x3a0 rxe_rcv+0x6e1/0x16e0 rxe_udp_encap_recv+0x20a/0x320 udp_queue_rcv_one_skb+0x7ed/0x12c0 Eyni strukturda olan növbəti paketlər xəritələnməmiş yaddaşda xəta verir və nüvəni panikaya salır. Tetikləmə üçün yalnız modulun yüklənməsi və "rdma link add" lazımdır; heç bir QP, bağlantı və ya autentifikasiya tələb olunmur. Bu problem, hər hansı uzunluq aritmetikası işə düşməzdən əvvəl, opkodu rxe_opcode[] massivində elementi olmayan (sıfır maskası və ya sıfır uzunluğu vasitəsilə aşkar edilən) paketlərin rədd edilməsi ilə həll edilir.

CiddilikYüksək
CVSS7.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc28 may 2026
İlk görülmə28 may 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.88, 6.18.30, 7.0.7 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel4.8 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.88, 6.13 ≤ v < 6.18.30, 6.19 ≤ v < 7.0.7, 7.15.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.88, 6.18.30, 7.0.7

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.