CVE-2026-80973
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ALSA: 6fire: cihazdan gələn MIDI hadisəsinin uzunluğu məhdudlaşdırıldı usb6fire_comm_receiver_handler() funksiyası MIDI hadisəsini cihaz tərəfindən təmin edilən uzunluq baytı vasitəsilə ötürür, lakin burada heç bir məhdudiyyət yoxdur və ötürmənin həmin sayda bayt çatdırdığına dair yoxlama aparılmır: if (!urb->status) { if (rt->receiver_buffer[0] == 0x10) /* midi in event */ if (midi_rt) midi_rt->in_received(midi_rt, rt->receiver_buffer + 2, rt->receiver_buffer[1]); } receiver_buffer 64 baytlıq kzalloc() buferi (COMM_RECEIVER_BUFSIZE)-dir, buna görə də iki baytlıq başlıqdan sonra yalnız 62 bayt gəlir. receiver_buffer[1] cihazın seçdiyi u8 tipində dəyişəndir, beləliklə, 0x10 cavabı və 0xFF uzunluğu göndərən cihaz snd_rawmidi_receive() funksiyasının 64 baytlıq obyektin ikinci baytından başlayaraq 255 bayt oxumasına səbəb olur. Buferdən kənardakı baytlar rawmidi oxuma yolu ilə istifadəçi sahəsinə (userspace) ötürülür. urb->actual_length də nəzərə alınmır, buna görə də qısa ötürmə həm tip baytını, həm də uzunluq baytını əvvəlki dəyərlərində saxlayır və handler köhnəlmiş məlumatlarla işləyir. Qəbul edici URB, probe zamanı usb6fire_comm_init() funksiyasından göndərilir, buna görə də oxuma prosesi istifadəçi müdaxiləsi olmadan qoşulma zamanı baş verir; istifadəçi sahəsinə ötürmə üçün MIDI giriş altaxınının açıq olması lazımdır, çünki usb6fire_midi_in_received() yalnız rt->in təyin edildikdə snd_rawmidi_receive() funksiyasını çağırır. 7.2.0-rc5 (arm64) versiyasında KASAN, emulyasiya edilmiş cihazdan gələn tək paket: BUG: KASAN: slab-out-of-bounds in snd_rawmidi_receive Read of size 255 at addr ffff000009f64682 by task bash/183 __asan_memcpy snd_rawmidi_receive usb6fire_midi_in_received [snd_usb_6fire] usb6fire_comm_receiver_handler [snd_usb_6fire] Allocated by task 11: usb6fire_comm_init [snd_usb_6fire] usb6fire_chip_probe [snd_usb_6fire] The buggy address is located 2 bytes inside of allocated 64-byte region [ffff000009f64680, ffff000009f646c0) Uzunluq başlıqdan sonrakı baytlardan çox olduqda hadisə rədd edilir və ötürmənin başlıqla birlikdə həmin sayda bayt çatdırdığı tələb olunur. Qəbul edici URB 64 baytlıq transfer_buffer_length ilə göndərildiyi üçün real cihaz 62 baytdan daha uzun hadisə çatdıra bilməz və heç bir düzgün məlumat itirilmir. XBOW tərəfindən aşkar edilmiş, Baul Lee <[email protected]> tərəfindən analiz edilmişdir.
Necə düzəltmək olar
- Linux Linuxc9204bc2ed2010e2469dbe5fce598878a37efd04, 2c590d5e1b1595d5c8fa0b72d2897423ce9985ca, 0c8a3c773823cf12abd39c480aed70e25c384630, 00e84a9ff2d43953ae261995cae94d46f4c307a6, 466e911bbbbb779bb06337e35a286e5ca7af16b3, 2a6f6fba3bd31d2e8c957fefa29156e35e5e75d5, 34816e2cfeabafb8eccf54687186ce25699e8363, a478893b59e36cfe7d77a76b352f2db55502e879 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < c9204bc2ed2010e2469dbe5fce598878a37efd04, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 2c590d5e1b1595d5c8fa0b72d2897423ce9985ca, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 0c8a3c773823cf12abd39c480aed70e25c384630, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 00e84a9ff2d43953ae261995cae94d46f4c307a6, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 466e911bbbbb779bb06337e35a286e5ca7af16b3, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 2a6f6fba3bd31d2e8c957fefa29156e35e5e75d5, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < 34816e2cfeabafb8eccf54687186ce25699e8363, c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 ≤ v < a478893b59e36cfe7d77a76b352f2db55502e879, 2.6.39 | c9204bc2ed2010e2469dbe5fce598878a37efd04, 2c590d5e1b1595d5c8fa0b72d2897423ce9985ca, 0c8a3c773823cf12abd39c480aed70e25c384630, 00e84a9ff2d43953ae261995cae94d46f4c307a6, 466e911bbbbb779bb06337e35a286e5ca7af16b3, 2a6f6fba3bd31d2e8c957fefa29156e35e5e75d5, 34816e2cfeabafb8eccf54687186ce25699e8363, a478893b59e36cfe7d77a76b352f2db55502e879 |
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.
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.