CVE-2025-37799

Yüksek

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: vmxnet3: vmxnet3_process_xdp fonksiyonundaki hatalı paket boyutlandırması düzeltildi vmxnet3 sürücüsünün XDP işleme mekanizması, ring0 kullanan paket boyutları için (yani 128 - 3k bayt arasındaki paket boyutları) hatalıdır. Alt ağ kartı olarak vmxnet3 kullanıldığı durumlarda, Cilium'un servis yük dengelemesinde MTU ile ilgili bağlantı sorunları tespit edilmiştir. XDP LB'nin IPIP kapsüllemesi yaptığı bir HTTP arka uç servisine yapılan basit bir curl isteği, bazı paketler için (örneğin HTTP GET isteği) aşırı büyük paket boyutlarına yol açarken, diğerleri (örneğin önceki TCP 3WHS) hat üzerinde tamamen normal görünmekteydi. Aslında, arka uç düğümündeki pcap kaydı, XDP LB bulunan düğümün etkilenen paketler için başlatılmamış çekirdek verilerini hat üzerine sızdırdığını ortaya çıkarmıştır; örneğin, paketlerin 152 bayt olması gerekirken gerçek boyutları 1482 bayttır ve 152 bayttan sonraki kalan kısım, o sırada sayfada bulunan herhangi bir veriyle (örneğin daha önce işlenen paketlerden gelen kullanıcı/yük verileriyle) doldurulmuştur. Bu durum yalnızca bir MTU sorunu aracılığıyla fark edilmiştir; örneğin, hem XDP LB düğümü hem de arka uç düğümü aynı MTU değerine (örneğin 1500) sahip olduğunda, IPIP ile kapsüllenmiş paket normalde MTU sınırına yaklaşmasa bile, paket çok büyük olduğu için curl isteği arka uç düğümünün NIC'i tarafından düşürülmüştür. XDP LB üzerindeki MTU'nun düşürülmesi (örneğin 1480), curl isteğinin başarılı olmasını sağlamıştır (bu da çekirdeğin dolgu kısmını görmezden geldiğini ve dolayısıyla sorunun kullanıcı tarafından pek fark edilmediğini göstermektedir). e127ce7699c1 ("vmxnet3: Fix missing reserved tailroom") commit'i, xdp_prepare_buff() fonksiyonunu rcd->len yerine rbi->len ile değiştirmek konusunda fazla aceleci davranmıştır. Fonksiyonun, tanımlayıcıdan gelen gerçek paket uzunluğu olan rcd->len değerine bağlı kalması gerekmektedir. Bu arada, ikincisini vmxnet3_process_xdp_small() fonksiyonuna da aktarmaktayız ve bu, xdp->{data,data_end} kısımlarını başlatmak için gereken doğru uzunluğu belirtmektedir. e127ce7699c1 ("vmxnet3: Fix missing reserved tailroom") için ilgili kısım, xdp_data_hard_end()'in xdp->frame_sz'ye bağımlı olması nedeniyle oluşan uyarıyı gidermek için xdp_init_buff() fonksiyonunun uyarlanmasıydı. Bunun düzeltilmesiyle birlikte, hat üzerindeki trafik tekrar normale dönmüştür.

ÖnemYüksek
CVSS8.6
İstismar olasılığı—
ÜrünLinux Kernel
Yayın3 May 2025
İlk görülme3 May 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.6.89, 6.8, 6.12.26, 6.14.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.6.23 ≤ v < 6.6.89, 6.7.11 ≤ v < 6.8, 6.8.2 ≤ v < 6.12.26, 6.13 ≤ v < 6.14.5, 6.156.6.89, 6.8, 6.12.26, 6.14.5

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.

CVE-2025-37799 · Linux Kernel · Dark Radar