CVE-2026-89979
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ALSA: pcm: atomik olmayan işlemler ile trigger-start arasındaki yarış durumunun düzeltilmesi Atomik PCM işlemleri arasındaki eşzamanlı durum geçişlerinin yarış durumlarını koruyoruz ancak atomik olmayan işlemler (hw_params, hw_free ve prepare) ile atomik işlemler arasındaki kontroller mükemmel değildir; hw_params ve benzerlerinin başlangıcında çakışan PCM durumu kontrol edilmektedir, fakat atomik PCM işlemleri hala atomik olmayan PCM işlemleri sırasında yürütülebilir. Böyle bir senaryoya örnek olarak, bir A iş parçacığının halihazırda hazırlanmış akış için PREPARE veya HW_PARAMS işlemini yeniden başlatması, bu sırada başka bir B iş parçacığının ise prepare işleminin ortasında PCM start işlemini tetiklemesi verilebilir. Bu durum genellikle ciddi sorunlara yol açmasa da, syzkaller tarafından rapor edildiği üzere bazı tutarsızlıklara (ODEBUG uyarısı gibi) neden olabilir. Çeşitli atomik PCM işlemleri mevcuttur ve temel sorun, PREPARED durumundan çalıştığı için yalnızca PCM start işlemidir. Diğer tetikleme komutları (stop vb.) çalışan veya diğer özel durumlar içindir, bu nedenle ön koşul olarak filtrelenirler. Bu yama, yukarıdaki sorunları gidermek amacıyla atomik olmayan işlemler sırasında PCM trigger-start işleminin önlenmesi içindir. Neyse ki hw_params, hw_free ve prepare işlemleri snd_pcm_buffer_access_lock() fonksiyonunu çağırır ve bu, PCM trigger aşamasındaki eşzamanlı işlemleri kontrol etmek için kullanılabilir; bu işlem runtime->buffer_accessing değerini (mümkünse) negatife ayarlar, böylece PCM trigger'ın sadece runtime->buffer_accessing değerini kontrol etmesi yeterlidir; eğer değer negatifse, bu durum eşzamanlı bir atomik olmayan PCM işleminin çalıştığı anlamına gelir.
Nasıl düzeltilir
- Linux Linuxb1d12144557fceed5de6e22e2c2e30a40ed37702, b2edc017f94c08bdd0b046a586e43ac771a2f942, b599e7f16441386754ec083fa62a549bccb02fca, ad29779736cfd6f5595f0cab300dd7611418e363, 5abeb4f9f2023f001d693b4e5e1ebbf25e25d0eb, 7ad2ea7c10044b08ecf7b04376916faf12e17a99, 50afadf1ea66597116eb14e73c24da7ae99b759f, acac7b5e07349a9d10d78873afb4b93cd1dc721f ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < b1d12144557fceed5de6e22e2c2e30a40ed37702, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < b2edc017f94c08bdd0b046a586e43ac771a2f942, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < b599e7f16441386754ec083fa62a549bccb02fca, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < ad29779736cfd6f5595f0cab300dd7611418e363, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 5abeb4f9f2023f001d693b4e5e1ebbf25e25d0eb, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 7ad2ea7c10044b08ecf7b04376916faf12e17a99, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 50afadf1ea66597116eb14e73c24da7ae99b759f, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < acac7b5e07349a9d10d78873afb4b93cd1dc721f, 2.6.12 | b1d12144557fceed5de6e22e2c2e30a40ed37702, b2edc017f94c08bdd0b046a586e43ac771a2f942, b599e7f16441386754ec083fa62a549bccb02fca, ad29779736cfd6f5595f0cab300dd7611418e363, 5abeb4f9f2023f001d693b4e5e1ebbf25e25d0eb, 7ad2ea7c10044b08ecf7b04376916faf12e17a99, 50afadf1ea66597116eb14e73c24da7ae99b759f, acac7b5e07349a9d10d78873afb4b93cd1dc721f |
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.