CVE-2022-49740
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: wifi: brcmfmac: Sərhədlərdən kənar oxumaların qarşısını almaq üçün kanal spesifikasiyasının say dəyərini yoxlayın Bu yamama brcmfmac daxilində, cihaz tərəfindən təmin edilən kanal spesifikasiyalarının say dəyəri kzalloc() ilə ayrılmış 'list'-in ölçümü ilə müəyyən edilən 'list->element[]'-in uzunluğundan böyük olduqda brcmf_construct_chaninfo() və brcmf_enable_bw40_2g() funksiyalarında baş verən slab-out-of-bounds oxumalarını düzəldir. Yamama belə bir hal baş verdikdə funksiyaların buferi boşaltmasını və -EINVAL qaytarmasını təmin edən yoxlamalar əlavə edir. Qeyd edək ki, mənfi geri dönüş dəyəri çağırıcı olan brcmf_setup_wiphybands() və ya brcmf_cfg80211_attach() tərəfindən idarə olunur. syzkaller-in modifikasiya edilmiş versiyası tərəfindən aşkar edilmişdir. brcmf_construct_chaninfo() funksiyasından gələn çöküş hesabatı: ================================================================== BUG: KASAN: slab-out-of-bounds in brcmf_setup_wiphybands+0x1238/0x1430 Read of size 4 at addr ffff888115f24600 by task kworker/0:2/1896 CPU: 0 PID: 1896 Comm: kworker/0:2 Tainted: G W O 5.14.0+ #132 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014 Workqueue: usb_hub_wq hub_event Call Trace: dump_stack_lvl+0x57/0x7d print_address_description.constprop.0.cold+0x93/0x334 kasan_report.cold+0x83/0xdf brcmf_setup_wiphybands+0x1238/0x1430 brcmf_cfg80211_attach+0x2118/0x3fd0 brcmf_attach+0x389/0xd40 brcmf_usb_probe+0x12de/0x1690 usb_probe_interface+0x25f/0x710 really_probe+0x1be/0xa90 __driver_probe_device+0x2ab/0x460 driver_probe_device+0x49/0x120 __device_attach_driver+0x18a/0x250 bus_for_each_drv+0x123/0x1a0 __device_attach+0x207/0x330 bus_probe_device+0x1a2/0x260 device_add+0xa61/0x1ce0 usb_set_configuration+0x984/0x1770 usb_generic_driver_probe+0x69/0x90 usb_probe_device+0x9c/0x220 really_probe+0x1be/0xa90 __driver_probe_device+0x2ab/0x460 driver_probe_device+0x49/0x120 __device_attach_driver+0x18a/0x250 bus_for_each_drv+0x123/0x1a0 __device_attach+0x207/0x330 bus_probe_device+0x1a2/0x260 device_add+0xa61/0x1ce0 usb_new_device.cold+0x463/0xf66 hub_event+0x10d5/0x3330 process_one_work+0x873/0x13e0 worker_thread+0x8b/0xd10 kthread+0x379/0x450 ret_from_fork+0x1f/0x30 Task 1896 tərəfindən ayrılmışdır: kasan_save_stack+0x1b/0x40 __kasan_kmalloc+0x7c/0x90 kmem_cache_alloc_trace+0x19e/0x330 brcmf_setup_wiphybands+0x290/0x1430 brcmf_cfg80211_attach+0x2118/0x3fd0 brcmf_attach+0x389/0xd40 brcmf_usb_probe+0x12de/0x1690 usb_probe_interface+0x25f/0x710 really_probe+0x1be/0xa90 __driver_probe_device+0x2ab/0x460 driver_probe_device+0x49/0x120 __device_attach_driver+0x18a/0x250 bus_for_each_drv+0x123/0x1a0 __device_attach+0x207/0x330 bus_probe_device+0x1a2/0x260 device_add+0xa61/0x1ce0 usb_set_configuration+0x984/0x1770 usb_generic_driver_probe+0x69/0x90 usb_probe_device+0x9c/0x220 really_probe+0x1be/0xa90 __driver_probe_device+0x2ab/0x460 driver_probe_device+0x49/0x120 __device_attach_driver+0x18a/0x250 bus_for_each_drv+0x123/0x1a0 __device_attach+0x207/0x330 bus_probe_device+0x1a2/0x260 device_add+0xa61/0x1ce0 usb_new_device.cold+0x463/0xf66 hub_event+0x10d5/0x3330 process_one_work+0x873/0x13e0 worker_thread+0x8b/0xd10 kthread+0x379/0x450 ret_from_fork+0x1f/0x30 Səhv ünvan ffff888115f24000 ünvanındakı obyektə məxsusdur hansı ki, ölçüsü 2048 olan kmalloc-2k keşinə aiddir Səhv ünvan 2048 baytlıq [ffff888115f24000, ffff888115f24800) bölgəsinin içərisində 1536 bayt uzaqlıqdadır Səhv ünvan ətrafındakı yaddaş vəziyyəti: ffff888115f24500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888115f24580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888115f24600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff888115f24680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888115f24700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== brcmf_enable_bw40_2g() funksiyasından gələn çöküş hesabatı: ========== ---truncated---
Necə düzəltmək olar
- linux linux_kernel5.4.232, 5.10.168, 5.15.93, 6.1.11 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | v < 5.4.232, 5.5 ≤ v < 5.10.168, 5.11 ≤ v < 5.15.93, 5.16 ≤ v < 6.1.11 | 5.4.232, 5.10.168, 5.15.93, 6.1.11 |
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.