CVE-2026-72342
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net/mlx5e: HV VHCA istatistik ajanı kayıt yarış durumu düzeltildi mlx5e_hv_vhca_stats_create(), mlx5_hv_vhca_agent_create() aracılığıyla istatistik ajanını kaydeder. Yardımcı fonksiyon, ajanı agents_lock altında hv_vhca->agents[type] kısmında yayınlar ve mlx5e'ye dönmeden önce hemen HV VHCA iş kuyruğu üzerinde asenkron bir kontrol geçersiz kılma işlemi planlar. Asenkron geçersiz kılma işlemi, hipervizör kontrol bloğunu okuyan ve komutu mlx5e_hv_vhca_stats_control() fonksiyonuna ileten kontrol ajanının geçersiz kılma geri çağırmasını tetikler. Bu geri çağırma şunları yapabilir: - cancel_delayed_work_sync(&priv->stats_agent.work) fonksiyonunu çağırabilir veya - queue_delayed_work(priv->wq, &sagent->work, sagent->delay) fonksiyonunu çağırabilir. Ancak, delayed_work ve priv->stats_agent.agent yalnızca mlx5_hv_vhca_agent_create() fonksiyonu mlx5e'ye döndükten sonra başlatılır: agent = mlx5_hv_vhca_agent_create(...); /* yayınla + geçersiz kıl */ ... priv->stats_agent.agent = agent; /* çok geç */ INIT_DELAYED_WORK(&priv->stats_agent.work, ...); /* çok geç */ Eğer asenkron kontrol yolu yukarıdaki iki atamadan önce çalışırsa şu durumlar oluşabilir: - timer.function değeri NULL olan başlatılmamış bir delayed_work üzerinde işlem yapabilir. queue_delayed_work() koşulsuz olarak add_timer() fonksiyonunu çağırır, bu nedenle zamanlayıcı sona erdiğinde timer softirq bir NULL fonksiyon işaretçisini çağırır. - Zamanlayıcı zaten zamanlayıcı tekerleğine eklenmişken, daha sonra INIT_DELAYED_WORK() aracılığıyla zamanlayıcıyı yeniden başlatarak hlist yapısını bozabilir (önceki kova düğümü hala bu girişe işaret ederken entry.pprev temizlenir). - İşçi nihayet çalıştığında, mlx5e_hv_vhca_stats_work() sagent->agent (NULL) değerini okur ve bunu mlx5_hv_vhca_agent_write() içinde dereference eder. Bu sorun şu şekilde düzeltilmiştir: - Kontrol geri çağırması onu gözlemlediğinde işin her zaman geçerli bir durumda olması için mlx5_hv_vhca_agent_create() çağrılmadan önce priv->stats_agent.work başlatılmıştır. - mlx5_hv_vhca_agent_create() fonksiyonuna bir struct mlx5_hv_vhca_agent **ctx_update çıkış parametresi eklenmiştir. Yardımcı fonksiyon, ajanı hv_vhca->agents[] içine yayınlamadan ve agents_update akışını tetiklemeden önce ajan işaretçisini *ctx_update'e yazar; böylece bu akıştan sonrasında çağrılan herhangi bir geri çağırma halihazırda geçerli bir priv->stats_agent.agent görür. Bu, kontrol geri çağırmasının ajan başlatma sürecine dahil olmasını engeller. Ayrıca, işçi ile CPU'lar arası erişim için priv->stats_agent.agent erişimi READ_ONCE()/WRITE_ONCE() ile sağlanmış ve agent_create() hata yolunda priv->stats_agent.buf temizlenmiştir.
Nasıl düzeltilir
- Linux Linuxb0fd6d3bb06182f19f3b59a53f57b5098b99048a, 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add, e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5, 60fddda7207d81fea71463abd403f0b10f74f2e1, f5677797b094c3ec5fb350eb8ea7710b88a3d018, 89b25b5f46f488ea3b29b3444864c76944c9075b ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < b0fd6d3bb06182f19f3b59a53f57b5098b99048a, cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add, cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5, cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < 60fddda7207d81fea71463abd403f0b10f74f2e1, cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < f5677797b094c3ec5fb350eb8ea7710b88a3d018, cef35af34d6dc3792333075115c7deb7062b6e18 ≤ v < 89b25b5f46f488ea3b29b3444864c76944c9075b, 5.4 | b0fd6d3bb06182f19f3b59a53f57b5098b99048a, 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add, e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5, 60fddda7207d81fea71463abd403f0b10f74f2e1, f5677797b094c3ec5fb350eb8ea7710b88a3d018, 89b25b5f46f488ea3b29b3444864c76944c9075b |
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.