CVE-2026-64103
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: scsi: isci: Cihaz kaldırma yolundaki serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi ISCI tamamlanma tasklet'i isci_host_alloc() (drivers/scsi/isci/init.c:496) içinde başlatılır ve hem MSI-X hem de eski kesme işleyicilerinden (drivers/scsi/isci/host.c:223,613) zamanlanır. isci_host_deinit() denetleyiciyi durdurur ve durdurma işleminin tamamlanmasını bekler, ancak yıkım işlemi devam etmeden önce completion_tasklet'ini asla sonlandırmaz. Fonksiyonun başında yer alan bir tasklet_kill() burada yeterli değildir: Kesmeler yalnızca isci_host_stop_complete() çalıştığında devre dışı bırakılır, bu nedenle wait_for_stop() geri dönene kadar IRQ işleyicileri tasklet'i yeniden kuyruğa eklemeye devam edebilir. Tasklet geri çağırma işlemi de tamamlamaları boşalttıktan sonra kesmeleri yeniden etkinleştirir; dolayısıyla kaynağın sakinleştirilmesinden önce tasklet'in sonlandırılması aynı yarış durumunu açık bırakır. wait_for_stop() geri döndüğünde, artık IRQ kaynaklı herhangi bir zamanlama gerçekleşemez. Yıkım işleminin, ölü bir ihost üzerinde çalışan kuyruğa alınmış bir tasklet ile yarışmaması için completion_tasklet burada sonlandırılmalıdır. Aksi takdirde, kaldırma veya boşaltma sırasında güncelliğini yitirmiş geri çağırma işlemi, host yaşam süresi sona erdikten sonra ihost referansını çözebilir ve ihost->smu_registers kısmına erişebilir. Bir UML + KASAN analoğu, hem tasklet_kill() olmadığında hem de tasklet_kill() kaynağın sakinleştirilmesinden önce yerleştirildiğinde hata sınıfını yeniden üretmiş ve sonlandırma işlemi zamanlama kaynağının sakinleştirilmesinden sonra gerçekleştiğinde sorunsuz kalmıştır. Bu işlem, f6ab594672d4 ("scsi: aic94xx: fix use-after-free in device removal path") commit'ini yansıtmaktadır, ancak ISCI için sonlandırma işleminin wait_for_stop() sonrası yapılması gerekmektedir.
Nasıl düzeltilir
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 ya da sonraki bir sürüm
- git.kernel.org/stable/c/1412995e10c74644b47f242aea6e4f3d4180e806
- git.kernel.org/stable/c/309c6058622d080fe8c2fab87c30da82d834d989
- git.kernel.org/stable/c/6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c
- git.kernel.org/stable/c/a83d3e4daba40d49324cec1c51ed261e1ea48cf1
- git.kernel.org/stable/c/ab2266601a875982f2d2033f41e070a6d5e615e2
- git.kernel.org/stable/c/b52a8d52c3125ec9a93106ed816582368de34426
- git.kernel.org/stable/c/b9ff8631006233ba246828ac70409d2cb2da38d3
- git.kernel.org/stable/c/cb9e72c50e6c81a5903f27e0b397ce8525d7539b
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 3.0.1 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.142, 6.7 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 3.0, 7.1 | 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 |
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.