Skip to content
Heist/ feed
High

xfrm: Check for underflow in xfrm_state_mtu

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

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
Read the original announcement