CVE-2026-64346
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: usb: gadget: udc: gadget_match_driver fonksiyonundaki serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi udc yapısı, gadget için yönetim yapısı olarak görev yapar ancak yaşam döngüleri birbirinden bağımsızdır. usb_del_gadget() fonksiyonu udc belleğini serbest bıraktığında (örneğin mod değiştirme işlemi aracılığıyla), aynı anda gadget_match_driver() fonksiyonunun serbest bırakılan udc belleğine erişmesiyle (örneğin configfs aracılığıyla) bir yarış durumu (race condition) oluşmaktadır; bu durum, serbest bırakılan bellek sıfırlandığında bir NULL pointer dereference tetikleyen Serbest Bırakıldıktan Sonra Kullanım (UAF) hatasına yol açmaktadır: [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 sorun, udc yapısının gadget serbest bırakılana kadar tahsis edilmiş halde kalması sağlanarak düzeltilmiştir. Bunu gerçekleştirmek için çekirdeğe yeni bir usb_gadget_release() rutini eklenmiştir. Gadget eklendiğinde, usb_add_gadget() gadget'ın serbest bırakma rutinini udc yapısında saklar ve udc için bir referans alır. Gadget serbest bırakıldığında ise usb_gadget_release() udc referansını düşürür ve ardından gadget'ın serbest bırakma rutinini çağırır.
Nasıl düzeltilir
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 ya da sonraki bir sürüm
- 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
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.