CVE-2026-45907
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: net/mlx5e: devlink ve netdev örnek kilitleri arasındaki deadlock durumları düzeltildi Bahsedilen "Fixes" commit'inde, devlink sağlık raporlayıcı kurtarmasını tetikleyen çeşitli iş görevleri, kurtarılan kanalların eşzamanlı olarak kaldırılmasına karşı koruma sağlamak amacıyla netdev_trylock kullanacak şekilde değiştirilmişti. Ancak bu durum, yanlış kilit sıralaması nedeniyle potansiyel deadlock oluşmasına yol açan bir yan etkiye neden oldu. Doğru kilit sırası init akışında şu şekilde tanımlanmıştır: probe_one -> mlx5_init_one (devlink kilidini alır) -> mlx5_init_one_devl_locked -> mlx5_register_device -> mlx5_rescan_drivers_locked -...-> mlx5e_probe -> _mlx5e_probe -> register_netdev (rtnl kilidini alır) -> register_netdevice (netdev kilidini alır) => devlink lock -> rtnl lock -> netdev lock. Ancak mevcut kurtarma akışında sıra yanlıştır: mlx5e_tx_err_cqe_work (netdev kilidini alır) -> mlx5e_reporter_tx_err_cqe -> mlx5e_health_report -> devlink_health_report (devlink kilidini alır => boom!) -> devlink_health_reporter_recover -> mlx5e_tx_reporter_recover -> mlx5e_tx_reporter_recover_from_ctx -> mlx5e_tx_reporter_err_cqe_recover Aynı desen şunlarda da mevcuttur: mlx5e_reporter_rx_timeout mlx5e_reporter_tx_ptpsq_unhealthy mlx5e_reporter_tx_timeout Bunlar, netdev_trylock çağrılarını işleyici yöneticilerden çağrı yığınının daha aşağısına, gerçekten gerekli oldukları ilgili kurtarma fonksiyonlarına taşıyarak düzeltilmiştir.
Nasıl düzeltilir
- linux linux_kernel6.18.14, 6.19.4 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.16 ≤ v < 6.18.14, 6.19 ≤ v < 6.19.4 | 6.18.14, 6.19.4 |
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.