CVE-2025-40350
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: net/mlx5e: RX, striding RQ için doğrusal olmayan xdp_buff üzerinden skb oluşturulmasının düzeltilmesi XDP programları, bpf_xdp_adjust_tail() ve bpf_xdp_adjust_head() aracılığıyla bir xdp_buff düzenini değiştirebilir. Bu nedenle sürücü, doğrusal veri alanının boyutunu veya fragmanları varsayamaz. XDP programları çalıştıktan sonra xdp_buff'a göre skb oluşturarak mlx5'teki hata düzeltildi. Şu anda, çoklu-buf XDP işlenirken, mlx5 sürücüsü bir xdp_buff düzeninin değişmediğini varsaymaktadır. Yani, doğrusal veri alanı boş kalmaya devam eder ve fragmanlar aynı kalır. Bu durum, sürücünün hatalı skb oluşturmasına veya bir kernel uyarısını tetiklemesine neden olabilir. Bir XDP programı bpf_xdp_adjust_head() aracılığıyla doğrusal veri eklediğinde, mlx5e_build_linear_skb() doğrusal verisiz bir skb oluşturduğu ve ardından doğrusal veri alanını doldurmak için fragmanlardan veri çektiği için doğrusal veri yoksayılacaktır. Bir XDP programı bpf_xdp_adjust_tail() aracılığıyla doğrusal olmayan veriyi küçülttüğünde, __pskb_pull_tail()'e iletilen fark gerçek doğrusal olmayan veri boyutunu aşabilir ve içindeki BUG_ON'u tetikleyebilir. Sorunu gidermek için öncelikle orijinal fragman sayısı kaydedilir. XDP programı çalıştıktan sonra fragman sayısı değişirse, son fragman işaretçisi fark kadar geri alınır ve truesize yeniden hesaplanır. Ardından, doğrusal veri alanı xdp_buff ile eşleşecek şekilde skb oluşturulur. Son olarak, yalnızca doğrusal olmayan veri varsa veri çekilir ve doğrusal kısım 256 bayta kadar doldurulur.
Nasıl düzeltilir
- Linux Linux8b051d7f530e8a5237da242fbeafef02fec6b813, cb9edd583e23979ee546981be963ad5f217e8b18, f2557d7fa38e9475b38588f5c124476091480f53, 87bcef158ac1faca1bd7e0104588e8e2956d10be ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | f52ac7028bec22e925c8fece4f21641eb13b4d6f ≤ v < 8b051d7f530e8a5237da242fbeafef02fec6b813, f52ac7028bec22e925c8fece4f21641eb13b4d6f ≤ v < cb9edd583e23979ee546981be963ad5f217e8b18, f52ac7028bec22e925c8fece4f21641eb13b4d6f ≤ v < f2557d7fa38e9475b38588f5c124476091480f53, f52ac7028bec22e925c8fece4f21641eb13b4d6f ≤ v < 87bcef158ac1faca1bd7e0104588e8e2956d10be, 6.4 | 8b051d7f530e8a5237da242fbeafef02fec6b813, cb9edd583e23979ee546981be963ad5f217e8b18, f2557d7fa38e9475b38588f5c124476091480f53, 87bcef158ac1faca1bd7e0104588e8e2956d10be |
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.