Katalog CVE

CVE-2026-98371

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w module xfrm/iptfs występuje błąd w obsłudze fragmentacji pakietów wewnętrznych. Gdy początek pakietu wewnętrznego zostanie podzielony między dwa pakiety zewnętrzne tak, że mniej niż 4 bajty trafią na koniec pierwszego, walidacja długości nagłówka IP jest pomijana, co prowadzi do przepełnienia bufora i paniki jądra (DoS).

Ocena ryzyka

Lokalny użytkownik bez uprawnień może wywołać panikę jądra poprzez userns+netns IPTFS SAs, a zdalny atakujący może to zrobić przeciwko bramom VPN IPTFS, gdy odszyfrowany pakiet zewnętrzny jest liniowy (np. AF_PACKET, tun/tap). Skutkuje to niedostępnością systemu (DoS).

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która wymaga, aby zadeklarowana długość pakietu wewnętrznego obejmowała co najmniej rozmiar nagłówka IP. Jeśli aktualizacja nie jest możliwa, ogranicz dostęp do interfejsów IPTFS i rozważ wyłączenie nieużywanych funkcji xfrm/iptfs.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: fix runt reassembly panic from short inner tot_len When the start of an inner packet is split across two outer packets such that fewer than 4 bytes land at the end of the first one, __input_process_payload() saves those bytes as a runt and skips the iplen/iphlen validation performed for in-place packets. When the continuation packet arrives, iptfs_reassem_cont() only requires the declared inner length to be >= sizeof(ra_runt) (6) before allocating the reassembly skb with that attacker-controlled length. However, __iptfs_iphlen() always returns the fixed minimum IP header size (20 for IPv4, 40 for IPv6), so for an inner IPv4 tot_len in [6, 19] the header-completion copy writes past the declared packet length, and the subsequent "ipremain -= copylen" underflows to ~4GB, leaving the payload copy length bounded only by blkoff (up to 64KB). At runtime the skb_put() tailroom check turns this into skb_over_panic(), i.e. an unprivileged kernel panic (DoS), reachable locally via userns+netns IPTFS SAs and remotely against IPTFS VPN gateways when the decrypted outer skb is linear (e.g. AF_PACKET taps, tun/tap delivery). Align the runt path with the normal path by requiring the declared inner length to cover at least the IP header size. This also subsumes the previous >= sizeof(ra_runt) check, since the minimum IP header is always larger than the runt buffer. This issue was found by the autokbug dynamic kernel fuzzer at Tencent Yunding Lab.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS