CVE-2026-64009

Source
https://cve.org/CVERecord?id=CVE-2026-64009
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-64009.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-64009
Downstream
Published
2026-07-19T14:56:24.448Z
Modified
2026-07-22T03:32:05.545796933Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
xfrm: Check for underflow in xfrm_state_mtu
Details

In the Linux kernel, the following vulnerability has been resolved:

xfrm: Check for underflow in xfrmstatemtu

Leo Lin reported OOB write issue in esp component:

xfrmstatemtu() returns u32 but performs its arithmetic in unsigned modulo-2^32 space using an attacker-influenced "headerlen + authsize + netadj" subtracted from a small "mtu" argument. A nobody user can install an IPv4 ESP tunnel SA with a large authentication key (XFRMAALGAUTHTRUNC, e.g. hmac(sha512), 64-byte key, 64-byte trunc), configure a small interface MTU (68 bytes), and set XFRMATFCPAD to a large value. When a single UDP datagram is then sent through the tunnel, xfrmstatemtu() 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 sizet when passed to memset() inside espoutputfilltrailer(), producing a ~16 EB write of zeroes at skbtailpointer(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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64009.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c5c2523893747f88a83376abad310c8ad13f7197
Fixed
8014f70c4e6e5ab101ae3860a614e65e988372e3
Fixed
1021d2877b689a648b27815c854557a917122e93
Fixed
2a41b1b31c61c52b972278ce1732a1443f5e89ed
Fixed
fccd685b32df5aaf6bad4381eeda216468e283f0
Fixed
820e501be8aee4b365d218d83227b314309c5fda
Fixed
82ac903e0b519849647657b8c48d21237ada06a2
Fixed
3db50ceeacb52806d8fe86fb1dfe944df0b9f789
Fixed
742b04d0550b0ec89dcbc99537ec88653bd1ad90

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-64009.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.22
Fixed
5.10.259
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.210
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.176
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.143
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.93
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.35
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.0.12

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-64009.json"