---
id: CVE-2026-64009
title: |-
  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
  …
summary: |-
  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
  …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-787
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 2.6.22, < 5.10.259'
  - 'linux_kernel >= 5.11, < 5.15.210'
  - 'linux_kernel >= 5.16, < 6.1.176'
  - 'linux_kernel >= 6.2, < 6.6.143'
  - 'linux_kernel >= 6.7, < 6.12.93'
  - 'linux_kernel >= 6.13, < 6.18.35'
  - 'linux_kernel >= 6.19, < 7.0.12'
  - linux_kernel = 7.1
patched:
  - linux_kernel 7.0.12
published: '2026-07-19'
updated: '2026-10-13'
sourceUpdated: '2026-10-13T13:59:46.923'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64009'
references:
  - url: 'https://git.kernel.org/stable/c/1021d2877b689a648b27815c854557a917122e93'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2a41b1b31c61c52b972278ce1732a1443f5e89ed'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3db50ceeacb52806d8fe86fb1dfe944df0b9f789'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/742b04d0550b0ec89dcbc99537ec88653bd1ad90'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8014f70c4e6e5ab101ae3860a614e65e988372e3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/820e501be8aee4b365d218d83227b314309c5fda'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/82ac903e0b519849647657b8c48d21237ada06a2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fccd685b32df5aaf6bad4381eeda216468e283f0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64009.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-64009'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2502403'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-64009'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64009'
  - url: >-
      https://lore.kernel.org/linux-cve-announce/2026071908-CVE-2026-64009-4587@gregkh/T
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00144
epssPercentile: 0.03651
ingestedAt: '2026-10-13T14:29:01.773Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:35:15.345325Z'
scores:
  nvd: 7.8
  vendor: 7
  cna: 7.8
---

## Overview

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.

## Affected

- `linux_kernel >= 2.6.22, < 5.10.259`
- `linux_kernel >= 5.11, < 5.15.210`
- `linux_kernel >= 5.16, < 6.1.176`
- `linux_kernel >= 6.2, < 6.6.143`
- `linux_kernel >= 6.7, < 6.12.93`
- `linux_kernel >= 6.13, < 6.18.35`
- `linux_kernel >= 6.19, < 7.0.12`
- `linux_kernel = 7.1`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.12`

## Vendor advisories

- **Red Hat VEX** · Important · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 6 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9 · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64009.json)
