CVE-2023-53586
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: scsi: target: Birden fazla LUN_RESET işleminin ele alınışındaki hata düzeltildi Bu işlem, bir başlatıcının (initiator), aslında temizlenmemiş olan çalışan komutların bir LUN_RESET ile temizlendiğini sandığı bir hatayı düzeltir. Hata, 51ec502a3266 ("target: Delete tmr from list before processing") commit'i ile eklenmiştir. Sorun şu durumlarda meydana gelir: 1. Target katmanında 2 oturuma yayılmış N adet çalışan G/Ç komutu olduğunda. 2. Başlatıcı her oturum için bir LUN_RESET gönderdiğinde. 3. session1'in LUN_RESET işlemi, her iki oturumdan gelen tüm çalışan komutlar üzerinde döngü kurar ve bunları kendi yerel drain_task_list listesine taşır. 4. Yukarıdaki commit kendisini listeden kaldırdığı için session2'nin LUN_RESET işlemi, session1'den gelen LUN_RESET'i görmez. Ayrıca diğer sıfırlama işlemi komutları durum listelerinden çıkardığı için session2 herhangi bir komut da görmez. 5. Ardından session2'nin LUN_RESET işlemi başarılı bir yanıtla tamamlanır. 6. session2'nin başlatıcısı, başarılı yanıt nedeniyle oturumundaki çalışan komutların artık temizlendiğine inanır ve çalışan komutları kendi tarafında temizler. Daha sonra bu komutları yeniden başlatır. 7. Komutlar sonunda arka uçta tamamlanır ve target bunlar için iptal edilmiş görev (aborted task) durumları döndürmeye başlar. Başlatıcı ya geçersiz bir ITT hatası verir ya da ITT zaten yeniden tahsis edilmişse yanlışlıkla yeni bir görevi sorgulayabilir. Yama geri alınarak hata düzeltilmiş; LUN_RESET, Preempt ve Abort işlemlerinin yürütülmesi serileştirilmiştir. Ayrıca, orijinal yamanın bahsedilmeyen bir hatayı düzelttiği ortaya çıktığı için core_tmr_drain_tmr_list içinde LUN_RESET'lerin beklenmesi engellenmiştir. LUN_RESET1 için core_tmr_drain_tmr_list ikinci bir LUN_RESET görebilir ve onu bekleyebilir. Ardından ikinci sıfırlama işlemi core_tmr_drain_tmr_list'i çalıştıracak, ilk sıfırlamayı görecek ve onu bekleyecektir; bu da bir deadlock (ölümcül kilitlenme) ile sonuçlanacaktır.
Nasıl düzeltilir
- linux linux_kernel5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2 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 | 4.11 ≤ v < 5.10.180, 5.11 ≤ v < 5.15.111, 5.16 ≤ v < 6.1.28, 6.2 ≤ v < 6.2.15, 6.3 ≤ v < 6.3.2 | 5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2 |
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.