CVE-2025-68331
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: usb: uas: devam eden veri aktarımı sırasında uas aygıtı kaldırıldığında oluşan urb eşleme kaldırma sorunu düzeltildi Veri aktarımı sırasında bir UAS aygıtının bağlantısı kesildiğinde, sistem paniği oluşma olasılığı vardır. Kök neden, URB geri çağırma işlemi sırasında geçersiz bir bellek adresine erişilmesidir. Spesifik olarak bu durum, usb_hcd_unmap_urb_for_dma() arayüzü içinde dma_direct_unmap_sg() fonksiyonu çağrıldığında, ancak sg->dma_address alanının 0 olduğu ve sg veri yapısının halihazırda serbest bırakıldığı durumlarda meydana gelir. SCSI sürücüsü, istekleri USB'ye iletmek için uas_submit_urbs() fonksiyonunu kullanarak uas.c dosyasındaki uas_queuecommand_lck() fonksiyonunu çağırarak aktarım komutları gönderir. uas_submit_urbs() uygulaması kapsamında üç URB (sense_urb, data_urb ve cmd_urb) sırayla iletilir. Aygıt kaldırma işlemi uas_submit_urbs yürütülmesinin herhangi bir noktasında gerçekleşebilir ve bu durum URB iletim hatasına yol açabilir. Ancak, hata oluşmadan önce bazı URB'ler başarıyla iletilmiş olabilir ve bu durumda uas_submit_urbs, -ENODEV hata kodunu döndürür. Mevcut hata yönetimi doğrudan scsi_done() fonksiyonunu çağırır. SCSI sürücüsünde bu işlem, nihayetinde sgtable'ın serbest bırakılması için scsi_end_request()'i çağıran scsi_complete()'i tetikler. Başarıyla iletilen URB'ler, iade edilmek üzere bağlantıları kesildiğinde hcd.c içindeki usb_hcd_unmap_urb_for_dma() fonksiyonunu çağırır; sg veri yapısı zaten serbest bırakılmış olduğundan, sg eşleme kaldırma işlemleri sırasında istisnalara yol açar. Bu yama, uas_submit_urbs() fonksiyonundaki hata durumu kontrolünü değiştirir. Bir UAS aygıtı kaldırıldığında ancak bir veya daha fazla URB USB'ye başarıyla iletilmişse, hemen scsi_done() fonksiyonunun çağrılmasını önler ve cmnd bilgisini devinfo->cmnd dizisine kaydeder. Eğer başarıyla iletilen URB'ler, devinfo->resetting ayarlanmadan önce tamamlanırsa, tüm bekleyen URB işlemleri kesinleştikten sonra uas_try_complete() içinde scsi_done() fonksiyonu çağrılır. Aksi takdirde, scsi_done() fonksiyonu, usb_kill_anchored_urbs() işleminden sonra yürütülen uas_zap_pending() içinde çağrılır. Hata yönetimi yalnızca uas_queuecommand_lck(), uas_submit_urbs() fonksiyonunu çağırdığında ve -ENODEV hata değerini döndürdüğünde etkili olur. Bu durumda aygıtın bağlantısı kesilir ve akış, uas_try_complete()'i çağırmak için uas_zap_pending()'in yürütüldüğü uas_disconnect() fonksiyonuna geçer.
Nasıl düzeltilir
- Linux Linux6289fc489e94c9beb6be2b502ccc263663733d72, 66ac05e7b0d6bbd1bee9fcf729e20fd4cce86d17, 75f8e2643085db4f7e136fc6b368eb114dd80a64, e3a55221f4de080cb7a91ba10f01c4f708603f8d, 2b90a8131c83f6f2be69397d2b7d14d217d95d2f, 426edbfc88b22601ea34a441a469092e7b301c52, 26d56a9fcb2014b99e654127960aa0a48a391e3c ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 6289fc489e94c9beb6be2b502ccc263663733d72, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 66ac05e7b0d6bbd1bee9fcf729e20fd4cce86d17, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 75f8e2643085db4f7e136fc6b368eb114dd80a64, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < e3a55221f4de080cb7a91ba10f01c4f708603f8d, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 2b90a8131c83f6f2be69397d2b7d14d217d95d2f, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 426edbfc88b22601ea34a441a469092e7b301c52, eb2a86ae8c544be0ab04aa8169390c0669bc7148 ≤ v < 26d56a9fcb2014b99e654127960aa0a48a391e3c, 5.10 | 6289fc489e94c9beb6be2b502ccc263663733d72, 66ac05e7b0d6bbd1bee9fcf729e20fd4cce86d17, 75f8e2643085db4f7e136fc6b368eb114dd80a64, e3a55221f4de080cb7a91ba10f01c4f708603f8d, 2b90a8131c83f6f2be69397d2b7d14d217d95d2f, 426edbfc88b22601ea34a441a469092e7b301c52, 26d56a9fcb2014b99e654127960aa0a48a391e3c |
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.