CVE-2026-31778
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: ALSA: caiaq: init_card fonksiyonundaki yığın sınır dışı okuma hatası düzeltildi Döngü, sınır kontrolü için `len < sizeof(card->id)` ifadesinin kullanıldığı, kart kısa adının boşluklardan arındırılmış bir kopyasını oluşturur. `sizeof(card->id)` değeri 16 olduğu ve yerel id tamponu da 16 bayt olduğu için, 16 adet boşluk olmayan karakterin yazılması tüm tamponu doldurarak sonlandırıcı null baytın üzerine yazar. Bu null ile sonlandırılmamış dize daha sonra `snd_card_set_id()` -> `copy_valid_id_string()` fonksiyonuna aktarıldığında, fonksiyon `while (*nid && ...)` ile ileriye doğru tarama yapar ve yığın tamponunun sonunu aşarak yığının içeriğini okur. Ürün adı çok sayıda ASCII olmayan ve boşluk olmayan karakterler (örneğin çok baytlı UTF-8) içeren bir USB aygıtı, bunu şu şekilde güvenilir bir şekilde tetikler: BUG: KASAN: stack-out-of-bounds in copy_valid_id_string sound/core/init.c:696 [inline] BUG: KASAN: stack-out-of-bounds in snd_card_set_id_no_lock+0x698/0x74c sound/core/init.c:718 Bir sayısal hata (off-by-one), bu boşluk temizleme döngüsünü ilk kez tanıtan Haziran 2009 tarihli (v2.6.31-rc1) bafeee5b1f8d ("ALSA: snd_usb_caiaq: give better shortname") commit'inden beri mevcuttur. Orijinal kod, kopyalama sınırını belirlerken null sonlandırıcıyı hiçbir zaman hesaba katmamıştır. En az bir baytın null sonlandırıcı olarak kalmasını sağlamak için döngü sınırı `sizeof(card->id) - 1` olarak değiştirilerek bu sorun giderilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.10.253, 5.15.203, 6.1.168, 6.6.134, 6.12.81, 6.18.22, 6.19.12 ya da sonraki bir sürüm
- git.kernel.org/stable/c/02d9c5b0b5553a391448b6d655262bd829f90234
- git.kernel.org/stable/c/3178b62e2e31bab39f63d4c8e54bf4ee0a425627
- git.kernel.org/stable/c/3afa2e67f3523a980a2f90fd63c22322ac2b9ce0
- git.kernel.org/stable/c/3f7f8bae0d52cbd07ab04b76b6aac89ef98ee9f6
- git.kernel.org/stable/c/45424e871abf2a152e247a9cff78359f18dd95c0
- git.kernel.org/stable/c/66194c2575a4f567577ae70b1d7561163ce791a6
- git.kernel.org/stable/c/7594a6464873d90fd229e5b94cdd3b92c9feabed
- git.kernel.org/stable/c/a82c1bce2d1299dd3c686a8fe48cf75b79a403c7
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 2.6.31 ≤ v < 5.10.253, 5.11 ≤ v < 5.15.203, 5.16 ≤ v < 6.1.168, 6.2 ≤ v < 6.6.134, 6.7 ≤ v < 6.12.81, 6.13 ≤ v < 6.18.22, 6.19 ≤ v < 6.19.12, 7.0 | 5.10.253, 5.15.203, 6.1.168, 6.6.134, 6.12.81, 6.18.22, 6.19.12 |
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.