CVE-2026-80628
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ALSA: seq: oss: readq sıfırlama durumu q->lock ile serileştirildi Normal okuyucu ve üretici yolları aynı halka durumunu söz konusu spinlock altında serileştirmesine rağmen, snd_seq_oss_readq_clear() fonksiyonu q->lock olmadan qlen, head ve tail değerlerini sıfırlamaktadır. Bu nedenle bir sıfırlama işlemi, snd_seq_oss_readq_free() veya snd_seq_oss_readq_put_event() ile yarış haline gelerek kuyrukta güncelliğini yitirmiş kayıtlar bırakabilir, yeni eklenenleri düşürebilir veya uyandırma sonrası yanlış hazır olma durumu bildirebilir. KCSAN, snd_seq_oss_readq_clear() ve snd_seq_oss_readq_free() arasında bir veri yarışı (data race) raporlamaktadır. Halkayı temizlerken ve input_time değerini sıfırlarken q->lock alınmıştır. Enkueue mantığı, çağırıcı tarafından kilitlenen bir yardımcı fonksiyona dönüştürülmüştür; böylece snd_seq_oss_readq_put_timestamp(), sıfırlama yoluyla yarışmak yerine bastırma durumunu aynı kilit altında günceller. Hatalı senaryo iki yol içermektedir ve her sütun o yol içindeki sırayı göstermektedir: sıfırlama yolu: kilitli readq güncelleyici: 1. snd_seq_oss_reset() veya 1. Bir okuyucu veya geri çağırma üreticisi serbest bırakma işlemi aynı kuyruk üzerinde q->lock alır. snd_seq_oss_readq_clear()'a ulaşır. 2. snd_seq_oss_readq_clear(); 2. Güncelleyici; qlen, head ve tail qlen, head, tail ve değerlerini test eder veya değiştirir. input_time'ı sıfırlar. 3. snd_seq_oss_readq_clear(), 3. Güncelleyici, oku-değiştir-yaz q->midi_sleep üzerindeki dizisini tamamlar. uyuyanları uyandırır. 4. q->lock olmadığı için sıfırlama 4. Ortaya çıkan halka durumu, daha sonraki işlemi, kilitli güncelleme okumaları ve hazır olma durumunu etkiler. ile örtüşebilir. KCSAN raporu: BUG: KCSAN: data-race in snd_seq_oss_readq_clear / snd_seq_oss_readq_free write to 0xffff8881069fe608 of 4 bytes by task 120516 on cpu 0: snd_seq_oss_readq_free+0x6c/0x80 snd_seq_oss_read+0xcb/0x250 odev_read+0x38/0x60 vfs_read+0xff/0x600 ksys_read+0xb4/0x140 __x64_sys_read+0x46/0x60 do_syscall_64+0xbb/0x2f0 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff8881069fe608 of 4 bytes by task 120517 on cpu 1: snd_seq_oss_readq_clear+0x1f/0x90 snd_seq_oss_reset+0xa7/0xf0 snd_seq_oss_ioctl+0x6f6/0x7e0 odev_ioctl+0x56/0xc0 __x64_sys_ioctl+0xd1/0x120 do_syscall_64+0xbb/0x2f0 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000001 -> 0x00000000
Nasıl düzeltilir
- Linux Linuxcf58e4abf61d6643446f08ce69993688bb914420, bf862fdee4831fe1dbde20891db4b29b8f9972f7, af74390983cae3e5e551a533d6fcfc9b8c1a8b9e, 287d506d4e0865918cec82bb1361f283a08c979b, 43e10709b1ba288bcbabb9b9cb6e518b2a5d8506, 49ce92d207820f588b0406add82f053decfbe5d9 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 < cf58e4abf61d6643446f08ce69993688bb914420, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < bf862fdee4831fe1dbde20891db4b29b8f9972f7, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < af74390983cae3e5e551a533d6fcfc9b8c1a8b9e, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 287d506d4e0865918cec82bb1361f283a08c979b, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 43e10709b1ba288bcbabb9b9cb6e518b2a5d8506, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 49ce92d207820f588b0406add82f053decfbe5d9, 2.6.12 | cf58e4abf61d6643446f08ce69993688bb914420, bf862fdee4831fe1dbde20891db4b29b8f9972f7, af74390983cae3e5e551a533d6fcfc9b8c1a8b9e, 287d506d4e0865918cec82bb1361f283a08c979b, 43e10709b1ba288bcbabb9b9cb6e518b2a5d8506, 49ce92d207820f588b0406add82f053decfbe5d9 |
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.