CVE-2026-72343

Yüksek

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: net/mlx5e: HV VHCA istatistiklerinde sıfır boyutlu arabellek ayırmayı düzelt mlx5e_hv_vhca_stats_create(), mlx5e_nic_enable() içinden mlx5e_open() öncesinde çağrılır. Bu noktada priv->stats_nch hâlâ sıfırdır, çünkü yalnızca mlx5e_channel_stats_alloc() içinde artırılır ve bu işleve yalnızca mlx5e_open_channel() üzerinden ulaşılır. Bu nedenle mlx5e_hv_vhca_stats_buf_size() 0 döndürür ve kvzalloc(0, GFP_KERNEL) NULL yerine ZERO_SIZE_PTR ((void *)16) döndürür. "if (!buf)" kontrolü bunu yakalamaz ve mlx5e_hv_vhca_stats_create(), priv->stats_agent.buf ZERO_SIZE_PTR olarak ayarlanmış şekilde "başarıyla" tamamlanır. Kanallar açıldığında (priv->stats_nch > 0) ve hipervizör istatistik raporlamayı etkinleştirdiğinde, mlx5e_hv_vhca_stats_work() yeni sıfır olmayan stats_nch kullanarak buf_len'i yeniden hesaplar ve ZERO_SIZE_PTR üzerinde memset(buf, 0, buf_len) çağırır, 0x10 adresinde hata oluşur. Arabelleği, mlx5e_priv_init() içinde ayarlanan ve stats_nch üzerinde üst sınır olan priv->max_nch'e göre ayırın: - sizeof(per_ring_stats) * max(max_nch, stats_nch) döndüren ayrı bir yardımcı işlev mlx5e_hv_vhca_stats_buf_max_size() ekleyin ve mlx5e_hv_vhca_stats_create() içindeki kvzalloc() için bunu kullanın. - mlx5e_hv_vhca_stats_buf_size() işlevini (stats_nch'e göre döndüren) çalışanın etkin yük boyutu için koruyun, böylece tel formatı (block->rings = stats_nch) ve mlx5e_hv_vhca_fill_stats() tarafından doldurulan veri miktarı değişmez. max(max_nch, stats_nch) koruması, mlx5e_attach_netdev() işlevinin priv->stats_nch kalıcıyken (mlx5e_detach_netdev, mlx5e_priv_cleanup çağırmaz, bu nedenle stats_nch yalnızca netdev yok edildiğinde sıfırlanır) bir ayırma/devam ettirme döngüsü boyunca max_nch'i aşağı doğru yeniden hesapladığı nadir durumu ele alır. Koruma olmadan, çalışan buf_len'i stats_nch'ten hesaplayabilir ve azaltılmış max_nch'e göre ayrılan daha küçük arabelleği taşırabilir. Sıfır olmayan bir arabellek ayırmak ayrıca mlx5e_hv_vhca_stats_create() içindeki kvzalloc() hata yolunu ilk kez erişilebilir kılar: aracıyı (yeniden) oluşturmadan erken döner. Daha sonraki bir create() bu yolda başarısız olursa, sonraki bir teardown işleminin önceki bir etkinleştirme/devre dışı bırakma döngüsünden kalan eski aracı/arabelleği çift serbest bırakmaması için mlx5e_hv_vhca_stats_destroy() içinde priv->stats_agent.{agent,buf} serbest bırakıldıktan sonra temizleyin. Bu, mlx5e'nin max_nch boyutunda dizileri önceden ayırma (ör. priv->channel_stats) ve girişleri talep üzerine stats_nch'e kadar tembel doldurma yönündeki mevcut desenini yansıtır.

ÖnemYüksek
CVSS8.4
İstismar olasılığı—
ÜrünLinux
Yayın15 Ağu 2026
İlk görülme15 Ağu 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux3b3a552cf88e10bb7bda88b29cf1fd8267043d50, 5b927dcec5f1087942bf123a82e64a3f66475f01, 22c1d5ecccf92c849bdca1556179aafc95794baf, 420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4, abc4c56427f144c96b2827a4db3b90eb5b7349a2, 25f6b929c7e379cbea7cb8caa67b49b2d1efae17 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxfa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < 3b3a552cf88e10bb7bda88b29cf1fd8267043d50, fa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < 5b927dcec5f1087942bf123a82e64a3f66475f01, fa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < 22c1d5ecccf92c849bdca1556179aafc95794baf, fa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < 420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4, fa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < abc4c56427f144c96b2827a4db3b90eb5b7349a2, fa691d0c9c0812b9045f3a9420862e47b3b92518 ≤ v < 25f6b929c7e379cbea7cb8caa67b49b2d1efae17, 5.173b3a552cf88e10bb7bda88b29cf1fd8267043d50, 5b927dcec5f1087942bf123a82e64a3f66475f01, 22c1d5ecccf92c849bdca1556179aafc95794baf, 420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4, abc4c56427f144c96b2827a4db3b90eb5b7349a2, 25f6b929c7e379cbea7cb8caa67b49b2d1efae17

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.

Intelligence 360 paketinde

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.