CVE-2026-89847
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: scsi: qla2xxx: async IOCB zaman aşımında çift tamamlama işleminin önlenmesi qla2x00_async_iocb_timeout() fonksiyonu, zaman aşımına uğramış bir async IOCB'yi iptal etmeye çalışır. qla24xx_async_abort_cmd() başarısız olduğunda, hem SRB_LOGIN_CMD yolu hem de SRB_CTRL_VP/varsayılan yolu, SRB için outstanding_cmds[] dizisini tarar ve ardından SRB'nin gerçekten bulunup bulunmadığını veya kaldırılıp kaldırılmadığını kontrol etmeden koşulsuz olarak sp->done(sp, QLA_FUNCTION_TIMEOUT) fonksiyonunu çağırır. Yanıt ISR'si aynı tutamacı (handle) önce tamamladığında, SRB'yi qp_lock_ptr altında kaldırır ve sp->done() -> complete(sp->comp) işlemini yürütür. Gönderici olan qla24xx_control_vp() fonksiyonu wait_for_completion()'dan uyanır, sp->comp değerini temizler, referansını bırakır ve geri döner; böylece yığındaki (on-stack) tamamlama işlemi geri alınmış olur. Zamanlayıcı referansı, SRB'yi zaman aşımı işleyicisi boyunca hayatta tutar ancak göndericinin yığınını tutmaz. Ardından zaman aşımı ikinci bir sp->done() -> qla_ctrlvp_sp_done() çağrısı yapar ve bu işlem "if (sp->comp) complete(sp->comp)" ifadesini değerlendirir; işaretçi, göndericinin NULL atamasından önce yüklendiği için complete() serbest bırakılan yığın çerçevesine yazma işlemi gerçekleştirir, bu da bir serbest bırakıldıktan sonra kullanım (use-after-free) durumuna yol açar. Bu yolun SRB'yi outstanding_cmds üzerinden kaldırıp kaldırmadığı takip edilmeli ve sp->done() yalnızca kaldırıldığında çağrılmalıdır; böylece komut, ona sahip olan yol tarafından tam olarak bir kez tamamlanır. Bu işlem, qla24xx_abort_iocb_timeout() içerisinde halihazırda kullanılan sp_found korumasının aynısını uygular.
Nasıl düzeltilir
- Linux Linux71a7b6e3c7f121439f51a058e53d4a8e05b63dec, 7257b5e1fb6c9387714f66e01b79ec82b717eede, f5b660e0b0d9190d8853c795c2522cc5f8c93003, 6e217a9482eabbd8b29847be334c74cf468d3544, d6d856c722f40f0694ff755208552e658db6dd42, 9fa1d71233a82416492d9c9de9756ebe140fe714, 845d4abd92cd2f97551356c8b281ad6e197acb07, bb45bc4bd53c95a7bf6f782577b5ede94c0f8aa8 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < 71a7b6e3c7f121439f51a058e53d4a8e05b63dec, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < 7257b5e1fb6c9387714f66e01b79ec82b717eede, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < f5b660e0b0d9190d8853c795c2522cc5f8c93003, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < 6e217a9482eabbd8b29847be334c74cf468d3544, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < d6d856c722f40f0694ff755208552e658db6dd42, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < 9fa1d71233a82416492d9c9de9756ebe140fe714, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < 845d4abd92cd2f97551356c8b281ad6e197acb07, f6145e86d21fccd59bbb87bc1e1eb076658fd79a ≤ v < bb45bc4bd53c95a7bf6f782577b5ede94c0f8aa8, 4.19 | 71a7b6e3c7f121439f51a058e53d4a8e05b63dec, 7257b5e1fb6c9387714f66e01b79ec82b717eede, f5b660e0b0d9190d8853c795c2522cc5f8c93003, 6e217a9482eabbd8b29847be334c74cf468d3544, d6d856c722f40f0694ff755208552e658db6dd42, 9fa1d71233a82416492d9c9de9756ebe140fe714, 845d4abd92cd2f97551356c8b281ad6e197acb07, bb45bc4bd53c95a7bf6f782577b5ede94c0f8aa8 |
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.