CVE-2026-23448
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: usb: cdc_ncm: NDP16 nframes sərhəd yoxlamasına ndpoffset əlavə edildi cdc_ncm_rx_verify_ndp16() funksiyası NDP başlığının və onun DPE yazılarını skb daxilində yerləşdiyini təsdiqləyir. Birinci yoxlama ndpoffset-i düzgün nəzərə alır: if ((ndpoffset + sizeof(struct usb_cdc_ncm_ndp16)) > skb_in->len) lakin ikinci yoxlama bunu buraxır: if ((sizeof(struct usb_cdc_ncm_ndp16) + ret * (sizeof(struct usb_cdc_ncm_dpe16))) > skb_in->len) Bu, DPE massivinin ölçüsünü sanki NDP ndpoffset-də deyil, 0 ofsetində yerləşmiş kimi ümumi skb uzunluğuna qarşı yoxlayır. NDP, NTB-nin sonuna yaxın yerləşdirildikdə (böyük wNdpIndex), yoxlama uğurlu olsa belə, DPE yazıları skb məlumat buferindən kənara çıxa bilər. Daha sonra cdc_ncm_rx_fixup() funksiyası DPE massivini dövr etdirərkən sərhədlərdən kənar (out-of-bounds) yaddaşı oxuyur. nframes sərhəd yoxlamasına ndpoffset əlavə edildi və NDP+DPE massivi ölçüsünü daha aydın ifadə etmək üçün struct_size_t() istifadə edildi.
Necə düzəltmək olar
- linux linux_kernel6.6.130, 6.12.78, 6.18.20, 6.19.10 və ya daha yeni versiya
- git.kernel.org/stable/c/2aa8a4fa8d5b7d0e1ebcec100e1a4d80a1f4b21a
- git.kernel.org/stable/c/403f94ddcb36c552fbef51dea735b131e3dcde8b
- git.kernel.org/stable/c/789204f980730258c983102c027c375238009c80
- git.kernel.org/stable/c/dce9dda0e3707e887977db44407989e9ead26611
- git.kernel.org/stable/c/f1c7701d3ac91b62d672c13690cf295821f0d5c3
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 3.8 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.78, 6.13 ≤ v < 6.18.20, 6.19 ≤ v < 6.19.10, 7.0 | 6.6.130, 6.12.78, 6.18.20, 6.19.10 |
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.