CVE-2025-21682
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: eth: bnxt: XDP temizlendikten sonra özellikleri her zaman yeniden hesapla, null-deref hatasını düzelt XDP ayrıldığında özellikler yeniden hesaplanır. Öncesi: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: off [requested on] Sonrası: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: on HW-GRO'nun otomatik olarak yeniden etkinleştirilmemesi sadece küçük bir rahatsızlıktır. Asıl sorun, özelliklerin tesadüfen netdev_update_features() fonksiyonunu çağıran başka bir yeniden yapılandırma sırasında rastgele geri gelmesidir. Sürücü, aynı anda iki şeyi yeniden yapılandırmayı çok sağlam bir şekilde yönetememektedir. 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") commit'inden itibaren, yalnızca "efektif" Rx ring sayısı değiştiğinde RSS karma tablosunu yeniden yapılandırıyoruz. Eğer HW-GRO etkinse, "efektif" ring sayısı kullanıcının gördüğünün 2 katıdır. Dolayısıyla, XDP kapandıktan sonra HW-GRO'nun yeniden etkinleştirilmesi "beklemede" olan hatalı durumdayken ring sayısını / 2 oranında düşürürsek; 2 kat işlem yapan HW-GRO ringleri ile / 2 işlemi yapan ethtool -L birbirini nötrleyebilir ve şu koşul: if (old_rx_rings != bp->hw_resc.resv_rx_rings && __bnxt_reserve_rings() içerisindeki bu koşul yanlış (false) olacaktır. RSS haritası güncellenmeyecek ve şu hata ile sistem çökecektir: BUG: kernel NULL pointer dereference, address: 0000000000000168 RIP: 0010:__bnxt_hwrm_vnic_set_rss+0x13a/0x1a0 bnxt_hwrm_vnic_rss_cfg_p5+0x47/0x180 __bnxt_setup_vnic_p5+0x58/0x110 bnxt_init_nic+0xb72/0xf50 __bnxt_open_nic+0x40d/0xab0 bnxt_open_nic+0x2b/0x60 ethtool_set_channels+0x18c/0x1d0 Bu durum, serbest bırakılmış bir ringe erişmeye çalışırken meydana gelir. Sorun aslında XDP desteği eklendiğinden beri mevcuttur ancak 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") commit'inden önce büyük sorunlara yol açmıyordu.
Nasıl düzeltilir
- linux linux_kernel6.12.11 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 | 4.16 ≤ v < 6.12.11, 6.13 | 6.12.11 |
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.