CVE-2026-64102

Kritik

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: RDMA/siw: İşaretli alım matematiğinden önce MPA FPDU uzunluk alt taşmasının reddedilmesi Kötü niyetli bir bağlı siw eşi, MPA uzunluk alanının (c_hdr->mpa_len, 16 bit big-endian, eş tarafından kontrol edilen) bildirilen opcode için sabit DDP/RDMAP başlığından daha küçük olduğu bir iWARP FPDU gönderebilir. Soft-iWARP, iwarp_pktinfo[opcode].hdr_len değerine dayanarak siw_get_hdr() içinde tüm başlığı ayrıştırır ancak mpa_len değerini hiçbir zaman bu başlık uzunluğu ile karşılaştırmaz. Ardından siw_tcp_rx_data() şunları türetir: srx->fpdu_part_rem = be16_to_cpu(mpa_len) - fpdu_part_rcvd + MPA_HDR_SIZE; Burada fpdu_part_rcvd, bu noktada iwarp_pktinfo[opcode].hdr_len değerine eşittir. Etiketli bir WRITE işlemi için (hdr_len 16, MPA_HDR_SIZE 2), ağ üzerindeki en küçük 0 mpa_len değeri fpdu_part_rem = -14 sonucunu verir ve hdr_len - MPA_HDR_SIZE değerinin altındaki herhangi bir mpa_len, negatif bir int olarak alt taşmaya neden olur. İşaretli değer daha sonra siw_proc_write()/siw_proc_rresp() fonksiyonuna şu şekilde aktarılır: bytes = min(srx->fpdu_part_rem, srx->skb_new); Bu değer siw_check_mem() fonksiyonuna bir int len olarak iletilir (len negatif olduğunda geçerli bir taban için addr + len > mem->va + mem->len aralık kontrolü sağlanır) ve siw_rx_data() -> siw_rx_kva() / siw_rx_umem() -> skb_copy_bits() fonksiyonlarına işaretli bir kopyalama uzunluğu olarak ulaşır. skb_copy_bits() içindeki başlık kopyalama dalı bunu size_t türüne yükselterek çok gigabaytlık bir okuma işlemi gerçekleştirir. Gerçek kernel TCP alım yolunu süren bir KUnit düzeneği altında KASAN -- döngüsel bir AF_INET soket çifti, kernel_sendmsg aracılığıyla yazılan hatalı FPDU, softirq içinde tetiklenen sk_data_ready, siw_tcp_rx_data'ya yönlendirilen tcp_read_sock -- şunları raporlar: BUG: KASAN: use-after-free in skb_copy_bits+0x284/0x480 Read of size 4294967295 at addr ffff888... Call Trace: skb_copy_bits siw_rx_kva siw_rx_data siw_check_mem siw_proc_write siw_tcp_rx_data __tcp_read_sock siw_qp_llp_data_ready tcp_data_ready tcp_data_queue Eş başlığının tamamen toplandığı en erken noktaya eksik olan değişmez eklenmiştir. iwarp_pktinfo[*].hdr_len - MPA_HDR_SIZE, siw vericisinin her opcode için minimum mpa_len olarak kullandığı değerle (drivers/infiniband/sw/siw/siw_qp.c:33) tam olarak aynıdır, dolayısıyla bu durum protokol sözleşmesine uygundur. Aralık dışı FPDU'lar bağlantıyı TERM_ERROR_LAYER_LLP / LLP_ETYPE_MPA / LLP_ECODE_FPDU_START ile sonlandırır; bu da RFC 5044 Bölüm 8 hata kodu 3 ("Marker ve ULPDU Uzunluk alanları bir FPDU başlangıcı konusunda hemfikir değil") olup, bu tutarsızlık için doğru çerçeveleme hatası sınıfıdır.

ÖnemKritik
CVSS9.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın19 Tem 2026
İlk görülme19 Tem 2026
Zayıflık türüCWE-190Tamsayı taşması

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.3 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.142, 6.7 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.15.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.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.

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-2026-64102 · Linux Kernel · Dark Radar