CVE-2026-80628
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ALSA: seq: oss: readq sıfırlama vəziyyətini q->lock ilə seriyalaşdırmaq Normal oxuyucu və istehsalçı yolları eyni ring vəziyyətini həmin spinlock altında seriyalaşdırdığı halda, snd_seq_oss_readq_clear() funksiyası q->lock olmadan qlen, head və tail dəyişənlərini sıfırlayır. Buna görə də, sıfırlama prosesi snd_seq_oss_readq_free() və ya snd_seq_oss_readq_put_event() ilə yarışa girə bilər və növbədə köhnəlmiş qeydlər qoya, yeni əlavə edilmişləri ata və ya oyanmadan sonra yanlış hazır olma vəziyyəti hesabat edə bilər. KCSAN, snd_seq_oss_readq_clear() və snd_seq_oss_readq_free() arasında məlumat yarışı (data race) olduğunu bildirir. Ring təmizlənərkən və input_time sıfırlanarkən q->lock istifadə edin. Enqueue məntiqini çağıran tərəfindən kilidlənmiş köməkçi funksiyaya çıxarın ki, snd_seq_oss_readq_put_timestamp() sıfırlama yolu ilə yarışmaq əvəzinə, öz basdırma vəziyyətini eyni kilid altında yeniləsin. Səhv ssenarisi iki yolun iştirakı ilə bağlıdır, hər sütun həmin yol daxilindəki ardıcıllığı göstərir: sıfırlama yolu: kilidlənmiş readq yeniləyicisi: 1. snd_seq_oss_reset() və ya 1. Oxuyucu və ya geri çağırış istehsalçısı azad etmə prosesi eyni növbədə q->lock götürür. snd_seq_oss_readq_clear()-a çatır. 2. snd_seq_oss_readq_clear() 2. Yeniləyici qlen, head və tail dəyişənlərini qlen, head, tail və yoxlayır və ya dəyişdirir. input_time-ı sıfırlayır. 3. snd_seq_oss_readq_clear() 3. Yeniləyici öz oxu-dəyişdir-yaz (read-modify-write) q->midi_sleep üzərində ardıcıllığını tamamlayır. yatanları oyadır. 4. q->lock olmadan sıfırlama 4. Nəticədə yaranan ring vəziyyəti sonrakı kilidlənmiş yeniləmə ilə oxumaları və hazır olma vəziyyətini təyin edir. üst-üstə düşə bilər. KCSAN hesabatı: 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
Necə düzəltmək olar
- Linux Linuxcf58e4abf61d6643446f08ce69993688bb914420, bf862fdee4831fe1dbde20891db4b29b8f9972f7, af74390983cae3e5e551a533d6fcfc9b8c1a8b9e, 287d506d4e0865918cec82bb1361f283a08c979b, 43e10709b1ba288bcbabb9b9cb6e518b2a5d8506, 49ce92d207820f588b0406add82f053decfbe5d9 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| 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 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.