CVE-2026-80659
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: mmc: vub300: sıfırlamayı cmd_mutex kilidi açılana kadar ertele vub300_cmndwork_thread(), bir komut gönderirken ve komut yanıtını beklerken cmd_mutex kilidini tutar. Yanıt bekleme süresi dolduğunda, __vub300_command_response() komut URB'lerini sonlandırır ve ardından usb_reset_device() aracılığıyla USB aygıtını senkron olarak sıfırlar. Bu sıfırlama yolu, yine cmd_mutex kilidini alan vub300_pre_reset() üzerinden sürücüye yeniden giriş yapar. Bu nedenle iş parçacığı (worker), komut yolundan dolayı hala elinde tuttuğu aynı mutex kilidini özyinelemeli (recursive) olarak almaya çalışır. Bu sorun statik analiz aracımız tarafından tespit edilmiş ve ardından mevcut ağaç üzerinde manuel olarak incelenmiştir. Temellendirilmiş PoC, gerçek iş parçacığını ve zaman aşımı/sıfırlama taşıyıcısını korumuştur: vub300_cmndwork_thread() __vub300_command_response() usb_lock_device_for_reset() usb_reset_device() vub300_pre_reset() Lockdep, cmd_mutex üzerinde aynı görevle ilgili özyinelemeli edinimi raporlamıştır: WARNING: possible recursive locking detected ... (&test_vub300.cmd_mutex) ... at: usb_reset_device... [vuln_msv] ... (&test_vub300.cmd_mutex) ... at: vub300_cmndwork_thread+0x12/0x20 [vuln_msv] Workqueue: vub300_cmd_wq vub300_cmndwork_thread [vuln_msv] *** DEADLOCK *** Zaman aşımı yolunun bir aygıt sıfırlamasına ihtiyaç duyduğu durumlarda __vub300_command_response() fonksiyonundan bir bayrak döndürülür; ardından sıfırlama işlemi, vub300_cmndwork_thread() devam eden komut durumunu temizleyip cmd_mutex kilidini bıraktıktan sonra gerçekleştirilir. Sıfırlama işlemi hala mmc_request_done() öncesinde denenmekte olup, böylece özyinelemeli kilitlenmeden kaçınırken mevcut istek tamamlama sıralaması korunmaktadır.
Nasıl düzeltilir
- Linux Linux8672b8bdbd2063b3fcbd75f729e4706fcdad2257, 8344611477c9241f45f20981990780fc5f0996f8, 2e6b9a394206c76dd417c991312f349435ef35e6, 7ee7a77ec2f446109ab52cc80ace7acc22ab6211, 9f5e04235a0b59e6e30af9f45511addf2604d757, bf9848a22a8e50d39d5e8d871581f0a8110f16b3, c2e1d33929565fa14c48d8a5a45edc3ebfc941b2, ee5fb641c4ccac8406c668d3e947eb20ce44f233 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < 8672b8bdbd2063b3fcbd75f729e4706fcdad2257, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < 8344611477c9241f45f20981990780fc5f0996f8, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < 2e6b9a394206c76dd417c991312f349435ef35e6, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < 7ee7a77ec2f446109ab52cc80ace7acc22ab6211, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < 9f5e04235a0b59e6e30af9f45511addf2604d757, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < bf9848a22a8e50d39d5e8d871581f0a8110f16b3, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < c2e1d33929565fa14c48d8a5a45edc3ebfc941b2, 88095e7b473a3d9ec3b9c60429576e9cbd327c89 ≤ v < ee5fb641c4ccac8406c668d3e947eb20ce44f233, 3.0 | 8672b8bdbd2063b3fcbd75f729e4706fcdad2257, 8344611477c9241f45f20981990780fc5f0996f8, 2e6b9a394206c76dd417c991312f349435ef35e6, 7ee7a77ec2f446109ab52cc80ace7acc22ab6211, 9f5e04235a0b59e6e30af9f45511addf2604d757, bf9848a22a8e50d39d5e8d871581f0a8110f16b3, c2e1d33929565fa14c48d8a5a45edc3ebfc941b2, ee5fb641c4ccac8406c668d3e947eb20ce44f233 |
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.