CVE-2026-64346
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: usb: gadget: udc: gadget_match_driver funksiyasında use-after-free xətasının düzəldilməsi udc strukturu gadget üçün idarəetmə strukturu rolunu oynayır, lakin onların həyat dövrləri bir-birindən asılı deyil. Belə bir yarış vəziyyəti (race condition) mövcuddur ki, usb_del_gadget() udc yaddaşını azad etdiyi halda (məsələn, mode-switch işi vasitəsilə), eyni zamanda gadget_match_driver() azad edilmiş udc yaddaşına müraciət edir (məsələn, configfs vasitəsilə). Bu, azad edilmiş yaddaş sıfırlanmış olduqda NULL göstəricinin istifadəsinə (NULL pointer dereference) səbəb olan Use-After-Free (UAF) xətasını tetikləyir: [39430.908615][ T1171] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140 [39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60 ... [39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8 [39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140 [39430.931308][ T1171] configfs_write_iter+0xec/0x134 [39430.957058][ T1171] Workqueue: events_freezable __dwc3_set_mode [39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c [39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664 Bu problem, gadget buraxılana qədər udc strukturunun ayrılmış vəziyətdə qalmasını təmin etməklə həll edilir. Bunu nail olmaq üçün nüvəyə yeni usb_gadget_release() proseduru əlavə edilmişdir. Gadget əlavə edildikdə, usb_add_gadget() gadget-in buraxma prosedurunu udc strukturunda saxlayır və udc-yə istinad götürür. Gadget buraxıldıqda, usb_gadget_release() udc-yə olan istinadı ləğv edir və sonra gadget-in buraxma prosedurunu çağırır.
Necə düzəltmək olar
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 və ya daha yeni versiya
- git.kernel.org/stable/c/50eeb8e8a4f389efc91b93cff14a683e714ec194
- git.kernel.org/stable/c/54fa390aae393eb130f307a85562e3001cc39a52
- git.kernel.org/stable/c/67e511d2989eb1c8c588b599ce2fcc6bb8e6f7ea
- git.kernel.org/stable/c/7a5214dae906d9f58e07bc4995e8181ee74439f4
- git.kernel.org/stable/c/b52476a83d9e12df00765359d728a875b128bef1
- git.kernel.org/stable/c/d026f71df141c9b064ff32a78af5391a31ef75c2
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.19 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 7.2 | 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.