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


