CVE-2026-22979

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: GRO paketleri için skb_segment_list fonksiyonundaki bellek sızıntısı düzeltildi Paket iletimi sırasında skb_segment_list() çağrıldığında, GRO motoru tarafından birleştirilmiş paketler işlenir. Geçmişte, skb_segment_list içerisindeki bölümlendirme mantığı, bireysel bölümlerin bir üst SKB'den ayrıldığını ve kendi soket bellek muhasebesini taşıması gerekebileceğini varsayıyordu. Buna bağlı olarak kod, truesize değerini üstten yeni oluşturulan bölümlere aktarıyordu. ed4cccef64c1 ("gro: fix ownership transfer") commit'inden önce, skb_segment_list() içindeki bu truesize çıkarma işlemi geçerliydi çünkü parçalar hala orijinal sokete bir referans taşıyordu. Ancak, ed4cccef64c1 ("gro: fix ownership transfer") commit'i, yığının ilerleyen aşamalarında geçersiz yetimleşmeyi önlemek için fraglist girişlerinin açıkça yetim bırakılmasını (skb->sk = NULL) sağlayarak bu davranışı değiştirmiştir. Bu değişiklik, tüm soket bellek yükünün baş SKB'de kalması anlamına geliyordu ancak skb_segment_list() içindeki ilgili muhasebe mantığı hiçbir zaman güncellenmedi. Sonuç olarak mevcut kod, her parçanın truesize değerini koşulsuz olarak delta_truesize değerine eklemekte ve bunu üst SKB'den çıkarmaktadır. Parçalar artık sokete faturalandırılmadığından, bu çıkarma işlemi baş yapı serbest bırakıldığında belleğin etkili olarak eksik sayılmasına neden olur. Bu durum sk_wmem_alloc değerinin sıfır kalmamasına yol açarak soketin yok edilmesini engeller ve kalıcı bir bellek sızıntısına neden olur. Sızıntı, ağ ortamı kapatılırken KMEMLEAK aracılığıyla gözlemlenebilir: unreferenced object 0xffff8881e6eb9100 (size 2048): comm "ping", pid 6720, jiffies 4295492526 backtrace: kmem_cache_alloc_noprof+0x5c6/0x800 sk_prot_alloc+0x5b/0x220 sk_alloc+0x35/0xa00 inet6_create.part.0+0x303/0x10d0 __sock_create+0x248/0x640 __sys_socket+0x11b/0x1d0 skb_segment_list() yalnızca GRO tarafından oluşturulan SKB_GSO_FRAGLIST paketleri için kullanıldığından, truesize düzenlemesi kaldırılmıştır. skb_release_head_state() çağrısı korunmalıdır. cf673ed0e057 ("net: fix fraglist segmentation reference count leak") commit'inde belgelendiği üzere, __copy_skb_header() sırasında üzerine yazılmış olabilecek SKB uzantılarına olan referansların doğru şekilde düşürülmesi hala gereklidir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın23 Oca 2026
İlk görülme23 Oca 2026
Zayıflık türüCWE-401CWE-401

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.15.154 ≤ v < 5.16, 6.1.85 ≤ v < 6.1.161, 6.6.26 ≤ v < 6.6.121, 6.8.5 ≤ v < 6.9, 6.9.1 ≤ v < 6.12.66, 6.13 ≤ v < 6.18.6, 6.9, 6.195.16, 6.1.161, 6.6.121, 6.9, 6.12.66, 6.18.6

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.