xfrm: Check for underflow in xfrm_state_mtu
In the Linux kernel, the following vulnerability has been resolved: xfrm: Check for underflow in xfrm_state_mtu Leo Lin reported OOB write issue in esp component: xfrm_state_mtu() returns u32 but performs its arithmetic in unsigned modulo-2^32 space using an attacker-influenced "header_len + authsize + net_adj" subtracted from a small "mtu" argument. A nobody user can install an IPv4 ESP tunnel SA with a large authentication key (XFRMA_ALG_AUTH_TRUNC, e.g. hmac(sha512), 64-byte key, 64-byte trunc), configure a small interface MTU (68 bytes), and set XFRMA_TFCPAD to a large value. When a single UDP datagram is then sent through the tunnel, xfrm_state_mtu() underflows to a near-2^32 value, and esp_output() consumes it as a signed int via: padto = min(x->tfcpad, xfrm_state_mtu(x, mtu_cached)) esp.tfclen = padto - skb->len (assigned to int) esp.tfclen ends up negative (e.g. -207). It is sign-extended to size_t when passed to memset() inside esp_output_fill_trailer(), producing a ~16 EB write of zeroes at skb_tail_pointer(skb). KASAN logs it as "Write of size 18446744073709551537 at addr ffff888...". Check for underflow and return 1. This causes the sendmsg attempt to fail with ENETUNREACH.
CVE-2026-64009
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-64009
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "8014f70c4e6e5ab101ae3860a614e65e988372e3",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "1021d2877b689a648b27815c854557a917122e93",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "2a41b1b31c61c52b972278ce1732a1443f5e89ed",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "fccd685b32df5aaf6bad4381eeda216468e283f0",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "820e501be8aee4b365d218d83227b314309c5fda",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "82ac903e0b519849647657b8c48d21237ada06a2",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "3db50ceeacb52806d8fe86fb1dfe944df0b9f789",
"versionType": "git"
},
{
"status": "affected",
"version": "c5c2523893747f88a83376abad310c8ad13f7197",
"lessThan": "742b04d0550b0ec89dcbc99537ec88653bd1ad90",
"versionType": "git"
}
],
"programFiles": [
"net/xfrm/xfrm_state.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.22"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.22",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.259",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.210",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.176",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.143",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.93",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.35",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.0.12",
"versionType": "semver",
"lessThanOrEqual": "7.0.*"
},
{
"status": "unaffected",
"version": "7.1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/xfrm/xfrm_state.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-64009
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #40932 · Revision 1
- Added to Heist Feed
- Publisher date