CVE-2026-80793: Linux kernel · ipv4: reject undersized MTUs in ip_do_fragment()
Source GCVE Database
Not known to be exploited.
Data as of 26 Oct 2026, 14:05 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 9% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Exploitation evidence
Disclosed: evidence found.
CVE published 4 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
Description
In the Linux kernel, the following vulnerability has been resolved: ipv4: reject undersized MTUs in ip_do_fragment() ip_do_fragment() subtracts the IPv4 header length from the effective MTU and passes the resulting payload MTU to ip_frag_next(). If the effective MTU is smaller than hlen + 8, ip_frag_next() rounds the fragment payload length down to zero. The fragmentation state then never makes forward progress: state->left, state->ptr and state->offset stay unchanged while ip_do_fragment() keeps allocating and transmitting header-only fragments until the softlockup detector fires. This is reproducible with a route installed using "mtu lock 20", but it is also reproducible without route MTU lock, for example by forwarding a packet to a device whose MTU is 20. Fix it in ip_do_fragment() by rejecting mtu < hlen + 8 with -EMSGSIZE, matching the existing IPv6 fragmentation check.
References
- nvd.nist.gov/vuln/detail/CVE-2026-80793 (opens in a new tab)
- git.kernel.org/stable/c/3556beb8ca86677af2aca5bfbed6f8e790fccc83 (opens in a new tab)
- git.kernel.org/stable/c/36e0741833bd823866f8cb9f112f37cea1a70b60 (opens in a new tab)
- git.kernel.org/stable/c/515b6816ba0c12d8415c88e5f41e6ec029e35cfa (opens in a new tab)
- git.kernel.org/stable/c/74ce7389f8f562d39015f59a00ef7ad6acd37803 (opens in a new tab)
- git.kernel.org/stable/c/a716a64a4ba68cd46f2745fba2b1099fe8e0aa59 (opens in a new tab)
- git.kernel.org/stable/c/b0ea911453ce7210e8200a07a94d2458bd1e6430 (opens in a new tab)
- git.kernel.org/stable/c/c0726f0caf8c6b3208552949e17d23634a2f3129 (opens in a new tab)
- git.kernel.org/stable/c/c8a74adccaf028223054633b532593101dfcc581 (opens in a new tab)
- git.kernel.org/stable/c/d9d1a676b033acabf8e5645f730486d1f8204a3f (opens in a new tab)