CVE-2026-43250
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: usb: chipidea: udc: _ep_nuke() fonksiyonundaki DMA ve SG temizleme işlemi düzeltildi ChipIdea UDC sürücüsü, aktif bir aktarım sırasında bağlantısı kesilen bir USB aygıtı yeniden bağlandığında "not page aligned sg buffer" hatalarıyla karşılaşabilir. Bu durum, _ep_nuke() fonksiyonunun DMA tamponlarını uygun şekilde eşlemeden çıkarmadan veya scatter-gather bounce tamponlarını temizlemeden istekleri gadget katmanına döndürmesinden kaynaklanmaktadır. Kök neden: Çok segmentli bir DMA aktarımı sırasında bağlantı kesilmesi gerçekleştiğinde, isteğin num_mapped_sgs alanı ve sgt.sgl işaretçisi güncelliğini yitirmiş değerlerle kalır. İstek, -ESHUTDOWN durumuyla gadget sürücüsüne döndürülür ancak hala aktif bir DMA durumuna sahiptir. Gadget sürücüsü, yeniden bağlantıda bu isteği yeniden başlatmadan tekrar kullanırsa, güncelliğini yitirmiş DMA durumu _hardware_enqueue() fonksiyonunun DMA eşlemesini atlamasına (sıfırdan farklı num_mapped_sgs değeri gördüğü için) ve serbest bırakılmış/geçersiz DMA adreslerini kullanmaya çalışmasına neden olur; bu da hizalama hatalarına ve potansiyel bellek bozulmasına yol açar. _hardware_dequeue() üzerinden gerçekleşen normal tamamlama yolu, isteği döndürmeden önce usb_gadget_unmap_request_by_dev() ve sglist_do_debounce() fonksiyonlarını uygun şekilde çağırır. İsteklerin temiz ve yeniden kullanılabilir durumda döndürüldüğünden emin olmak için _ep_nuke() yolunun da aynı temizleme işlemini yapması gerekir. Çözüm: _hardware_dequeue() içerisindeki temizleme dizisini yansıtmak amacıyla _ep_nuke() fonksiyonuna DMA eşleme çıkarma ve bounce tamponu temizleme işlemleri eklendi: - num_mapped_sgs ayarlanmışsa usb_gadget_unmap_request_by_dev() çağrılır - bounce tamponu mevcutsa copy=false parametresiyle sglist_do_debounce() çağrılır Bu işlem, uç nokta kapatılması nedeniyle istekler döndürüldüğünde, güncelliğini yitirmiş DMA eşlemelerinin tutulmamasını sağlar. sglist_do_debounce() fonksiyonuna iletilen 'false' parametresi, verilerin geri kopyalanmasını önler (aktarımın iptal edildiği kapatma yolu için uygundur).
Nasıl düzeltilir
- linux linux_kernel6.12.75, 6.18.16, 6.19.6 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 2.6.29 ≤ v < 6.12.75, 6.13 ≤ v < 6.18.16, 6.19 ≤ v < 6.19.6 | 6.12.75, 6.18.16, 6.19.6 |
| microsoft azl3_kernel_6.6.137.1-2 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.138.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.141.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.143.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.144.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.145.2-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.157.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.139.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.150.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.152.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.159.1-1 | Aralık belirtilmemiş | — |
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.