CVE-2024-36906
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ARM: 9381/1: kasan: bayat yığın zehrini temizle (clear stale stack poison) Aşağıdaki sınır dışı (OOB) çökme tespit edilmiştir: [ 33.452494] ================================================================== [ 33.453513] BUG: KASAN: stack-out-of-bounds in refresh_cpu_vm_stats.constprop.0+0xcc/0x2ec [ 33.454660] Write of size 164 at addr c1d03d30 by task swapper/0/0 ... [ 33.482978] ================================================================== Bu OOB durumunun temel nedeninin, ARM'nin cpuidle durumunda bayat yığın zehrini temizlememesi olduğu belirlenmiştir. Bu sorun, arch/arm64/kernel/sleep.S dosyasına yapılan müdahale ile çözülmüştür. Sorunu açıklayan ilgili commit [1]'den aktarılan bilgilere göre: Derleyici tarafından KASAN için araçlandırılmış fonksiyonlar, giriş sırasında yığın gölgesine (stack shadow) zehir yerleştirir ve dönmeden önce bu zehri kaldırır. cpuidle durumunda, CPU'lar C kodu içerisindeki belirli derinlik seviyelerinde çekirdekten çıkar. Bu kritik yol üzerindeki herhangi bir araçlandırılmış fonksiyon, yığın gölgesinin bölümlerini zehirli bırakacaktır. CPU'lar bağlam kaybettiğinde ve soğuk bir yol üzerinden çekirdeğe döndüğünde, __cpu_suspend_enter içinde kaydedilen önceki bağlam geri yüklenirken unutulur; böylece bu işlem ile çekirdekten gerçek çıkış arasındaki fonksiyon çağrıları tarafından yığın gölge alanına yerleştirilen zehirler asla kaldırılmaz. Sonuç olarak (yığın çerçevesi düzenine bağlı olarak), araçlandırılmış fonksiyonlara yapılan sonraki çağrılar bu bayat zehire denk gelebilir ve konsolda (hatalı) KASAN raporlarının oluşmasına neden olabilir. Bunu önlemek için, bir CPU çevrimiçi hale getirilmeden önce boşta olan iş parçacığındaki tüm bayat zehirler temizlenmelidir. İlgili commit [2]'den aktarılan bilgiye göre: Kontrol, CONFIG_KASAN_STACK seçeneğini kapsayacak şekilde genişletilmiştir. [1] commit 0d97e6d8024c ("arm64: kasan: clear stale stack poison") [2] commit d56a9ef84bd0 ("kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK")
Nasıl düzeltilir
- linux linux_kernel5.15.159, 6.1.91, 6.6.31, 6.8.10 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.11 ≤ v < 5.15.159, 5.16 ≤ v < 6.1.91, 6.2 ≤ v < 6.6.31, 6.7 ≤ v < 6.8.10, 6.9 | 5.15.159, 6.1.91, 6.6.31, 6.8.10 |
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.