CVE-2026-68136
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: gro: flush olarak işaretlenmiş skb'lerin çift toplanmasının düzeltilmesi 0ab03f353d36 numaralı commit ("net-gro: Fix GRO flush when receiving a GSO packet."), skb_gro_receive() fonksiyonuna bir flush kontrolü eklemiştir ancak skb_gro_receive_list() aynı doğrulamadan yoksundur. Sonuç olarak, NAPI_GRO_CB(skb)->flush ile işaretlenmiş paketler yeniden toplanmaya devam edebilir. Bu durum, mevcut frag_list içeren ve halihazırda GRO işlemi uygulanmış paketlerin yeni bir GRO oturumunda yeniden toplanmasına izin vererek frag_list zincir yapısını bozar. skb_segment() bu hatalı paketleri açmaya çalıştığında geçersiz bir durumla karşılaşır ve kernel panic tetikler. Senaryo (Tethering/Cihaz yönlendirme): 1. Sürücü: frag_list ile LRO üzerinden toplanmış paket P1 oluşturur. 2. Cihaz A: Toplanmış fraglist paketi ve ayarlanmış flush bayrağını alır. 3. Cihaz A: Yeniden GRO'ya girer, skb_gro_receive_list() çağrılır. 4. Eksik flush kontrolü, flush bayrağına rağmen yeniden toplamaya izin verir. 5. Frag_list zinciri bozulur (döngüler veya asılı referanslar oluşur). 6. Cihaz B: TX yolu skb_segment()'ı çağırır, bozuk frag_list nedeniyle çöker. skb_segment() içerisindeki kök neden: ~4891. satırdaki kontrol: if (hsize <= 0 && i >= nfrags && skb_headlen(list_skb) && (skb_headlen(list_skb) == len || sg)) { Çift toplama nedeniyle frag_list bozulduğunda ve list_skb, skb->next'ten gelen bir NULL işaretçi olduğunda, skb_headlen(list_skb) ifadesi NULL/bozuk işaretçileri çözümlemeye çalışır. Çağrı İzleme (Call Trace): skb_headlen(NULL skb) skb_segment tcp_gso_segment tcp4_gso_segment inet_gso_segment skb_mac_gso_segment __skb_gso_segment skb_gso_segment validate_xmit_skb validate_xmit_skb_list sch_direct_xmit qdisc_restart __qdisc_run qdisc_run net_tx_action Çözüm: skb_gro_receive() fonksiyonunun savunmacı programlama modeline uygun olarak, skb_gro_receive_list() içerisindeki erken dönüş kontrolüne NAPI_GRO_CB(skb)->flush doğrulaması eklenmiştir.
Nasıl düzeltilir
- Linux Linux7fc7e35212cf58c134310fb47566a844297ceae9, d1fb23f8f794ac4683127bd49a6422bd87e0ac02, db3e82da616f52e2b27e25e7be3fde2f2a5e54d6, 107e1a469f53a2a70874f3f12bf6fcd23925da1d, a4dfd46cc8f08a29c6183794790547d0945f3d45, fc0c0f7a207f0cd2d2aa725696c907f7d03af9e0, e751256486d0ded20f5a9f9863467f1dce65142f ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < 7fc7e35212cf58c134310fb47566a844297ceae9, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < d1fb23f8f794ac4683127bd49a6422bd87e0ac02, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < db3e82da616f52e2b27e25e7be3fde2f2a5e54d6, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < 107e1a469f53a2a70874f3f12bf6fcd23925da1d, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < a4dfd46cc8f08a29c6183794790547d0945f3d45, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < fc0c0f7a207f0cd2d2aa725696c907f7d03af9e0, 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596 ≤ v < e751256486d0ded20f5a9f9863467f1dce65142f, 5.6 | 7fc7e35212cf58c134310fb47566a844297ceae9, d1fb23f8f794ac4683127bd49a6422bd87e0ac02, db3e82da616f52e2b27e25e7be3fde2f2a5e54d6, 107e1a469f53a2a70874f3f12bf6fcd23925da1d, a4dfd46cc8f08a29c6183794790547d0945f3d45, fc0c0f7a207f0cd2d2aa725696c907f7d03af9e0, e751256486d0ded20f5a9f9863467f1dce65142f |
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.