CVE Catalog

CVE-2026-64009

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.14%

4th percentile - higher than 4% of all known CVEs

Summary

A vulnerability in the Linux kernel's xfrm_state_mtu function can cause an out-of-bounds write in the ESP component. An unprivileged attacker can install an IPv4 ESP tunnel with a large authentication key, small interface MTU, and large XFRMA_TFCPAD, triggering an arithmetic underflow that results in writing a massive amount of zeros to memory.

Risk Assessment

This vulnerability allows a local unprivileged attacker to perform an out-of-bounds write, potentially causing a system panic or privilege escalation. The risk is especially high in multi-user or containerized environments.

Recommendation

Immediately update the Linux kernel to a version containing the fix (check for underflow and return 1). If updating is not possible, restrict unprivileged users from installing IPv4 ESP tunnels.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS