CVE-2024-36962
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: ks8851: BH'leri devre dışı bırakmak yerine RX paketlerini IRQ işleyicide kuyruğa al Sürücü şu anda, netif_rx() çıkışında net_rx_action() softirq tetiklenmesini önlemek için IRQ işleyicisinde local_bh_disable()/local_bh_enable() kullanmaktadır. net_rx_action(), bu sürücünün IRQ işleyicisi ile aynı kilit tarafından korunan .start_xmit geri çağırmasını tetikleyebilir; dolayısıyla kilit tarafından korunan IRQ işleyici kritik bölümünden netif_rx() aracılığıyla .start_xmit çağrılması, halihazırda alınmış olan kilidi tekrar alma girişimine ve sistemin donmasına yol açabilir. local_bh_disable()/local_bh_enable() yaklaşımı yalnızca IRQ işleyicinin bir spinlock ile korunduğu durumlarda çalışır, ancak IRQ işleyicinin mutex ile korunduğu durumlarda çalışmaz; yani bu yöntem Parallel veri yolu arayüzüne sahip KS8851 için geçerlidir ancak SPI veri yolu arayüzüne sahip KS8851 için geçerli değildir. BH manipülasyonu kaldırılmış ve kilit tarafından korunan IRQ işleyici kodu içinde netif_rx() çağırmak yerine, önce alınan tüm SKB'ler IRQ işleyicide bir kuyruğa eklenmiş ve IRQ işleyici kilit tarafından korunan kritik bölümden çıktıktan sonra kuyruktaki tüm SKB'ler çıkarılarak netif_rx() fonksiyonuna gönderilmiştir. Bu noktada, netif_rx() çağrısı IRQ işleyicisini koruyan kilidin dışında olduğu için net_rx_action() softirq tetiklenmesi güvenlidir.
Nasıl düzeltilir
- linux linux_kernel6.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 | 6.1.87 ≤ v < 6.1.91, 6.6.28 ≤ v < 6.6.31, 6.8.7 ≤ v < 6.8.10, 6.9 | 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.