CVE-2026-98116
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ALSA: pcm: Sayfa düzeyinde UAF hatasını düzeltmek için PCM mmap işlemini tampon yeniden tahsisi ile serileştirin snd_pcm_hw_params() ve snd_pcm_hw_free(), tampon yeniden tahsisini PCM akış kilidi altında gerçekleştirilen bir mmap_count kontrolü ile korur; ancak kilit, tampon gerçekten serbest bırakılmadan çok önce serbest bırakılır: snd_pcm_sync_stop(), kısıtlama iyileştirmesi ve do_free_pages() işlemlerinin tamamı bu arada gerçekleşir. Öte yandan snd_pcm_mmap_data() hiçbir kilit kullanmaz: eski tamponun durumu ve dma_bytes değerine göre doğrulama yapar, sayfalarını VMA içine yeniden eşler ve ancak ondan sonra mmap_count değerini artırır. Bu nedenle, eşzamanlı bir mmap() işlemi, kontrol ve serbest bırakma işlemleri arasına sızabilir. remap_pfn_range(), sayfa referanslarını almadan eski tamponun sayfaları için yazılabilir PTE'ler kurar ve ardından gelen do_free_pages(), VMA hala bunları eşlemiş durumdayken bu sayfaları sayfa ayırıcıya geri döndürür. Bu durum, serbest bırakılmış sayfaların güncelliğini yitirmiş, yazılabilir bir eşlemesini bırakır: yerel yetki yükseltme için kullanılabilecek sayfa düzeyinde bir serbest bırakıldıktan sonra kullanım (use-after-free) durumu oluşur. snd_pcm_mmap_data() fonksiyonunun hw_params/hw_free için getirilen tampon erişim şemasına dahil edilmesi sağlanmıştır: doğrulama ve yeniden eşleme işleminden önce runtime->buffer_accessing alınır ve sonrasında serbest bırakılır. Tampon yeniden tahsisi, erişimciler aktifken zaten -EBUSY ile hata verir ve artık mmap tarafı da bir yeniden tahsis işlemi devam ederken -EBUSY ile hata verir; böylece doğrulama/yeniden eşleme dizisi ile kontrol/serbest bırakma dizisi artık birbirine karışamaz. Bu yarış durumunu, serbest bırakılan DMA tampon sayfalarının güncelliğini yitirmiş yazılabilir bir eşlemesine dönüştüren bir reprodüktör talep üzerine sağlanabilir.
Nasıl düzeltilir
- Linux Linuxe6cdd2a0470d64073349a970dc1691433804b271, 9857a75714bb5df4781e4d8b1a1753b1e17bf07a, cbadf2575d25e7dcc0d4da2717817ae569fbc99b, cbc7ec97601d09b74e05e44470fa6b0bcdabf3f5, fd137bf8149bc6460f9b7b1fc292025da04cb9ee, 8c1882dfee8f404d118020664b73eb4592172226, 9b110a9dcecc59516c77cb3c0caf1f492f75df2d, 5.15.222, 4.15, 4.20, 5.5, 5.11, 5.17, 5.18 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 33061d0fba51d2bf70a2ef9645f703c33fe8e438 ≤ v < e6cdd2a0470d64073349a970dc1691433804b271, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < 9857a75714bb5df4781e4d8b1a1753b1e17bf07a, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < cbadf2575d25e7dcc0d4da2717817ae569fbc99b, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < cbc7ec97601d09b74e05e44470fa6b0bcdabf3f5, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < fd137bf8149bc6460f9b7b1fc292025da04cb9ee, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < 8c1882dfee8f404d118020664b73eb4592172226, 92ee3c60ec9fe64404dc035e7c41277d74aa26cb ≤ v < 9b110a9dcecc59516c77cb3c0caf1f492f75df2d, a42aa926843acca96c0dfbde2e835b8137f2f092, 9cb6c40a6ebe4a0cfc9d6a181958211682cffea9, fbeb492694ce0441053de57699e1e2b7bc148a69, 0f6947f5f5208f6ebd4d76a82a4757e2839a23f8, 0090c13cbbdffd7da079ac56f80373a9a1be0bf8, 1bbf82d9f961414d6c76a08f7f843ea068e0ab7b, 5.15.32 ≤ v < 5.15.222, 4.14.279 ≤ v < 4.15, 4.19.243 ≤ v < 4.20, 5.4.193 ≤ v < 5.5, 5.10.109 ≤ v < 5.11, 5.16.18 ≤ v < 5.17, 5.17.1 ≤ v < 5.18, 5.18 | e6cdd2a0470d64073349a970dc1691433804b271, 9857a75714bb5df4781e4d8b1a1753b1e17bf07a, cbadf2575d25e7dcc0d4da2717817ae569fbc99b, cbc7ec97601d09b74e05e44470fa6b0bcdabf3f5, fd137bf8149bc6460f9b7b1fc292025da04cb9ee, 8c1882dfee8f404d118020664b73eb4592172226, 9b110a9dcecc59516c77cb3c0caf1f492f75df2d, 5.15.222, 4.15, 4.20, 5.5, 5.11, 5.17, 5.18 |
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.