# CVE-2026-63912: xfrm: esp: restore combined single-frag length gate

> A missing length check in the Linux kernel ESP fast path can cause memory corruption, potentially leading to denial of service or code execution.

- **Severity:** Critical 9.8 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 19 Jul 2026
- **Updated:** 19 Oct 2026
- **Also known as:** BELL-CVE-2026-63912, DEBIAN-CVE-2026-63912, GHSA-6c6h-95cx-j99f, ROOT-OS-UBUNTU-2204-CVE-2026-63912, UBUNTU-CVE-2026-63912

## What is CVE-2026-63912?

CVE-2026-63912 is a critical memory corruption vulnerability in Linux, published on 19 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

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

xfrm: esp: restore combined single-frag length gate

The ESP out-of-place fast path appends the trailer in esp_output_head()
before esp_output_tail() allocates the destination page frag. The
head-side gate currently checks skb->data_len and tailen separately, but
the tail code allocates a single destination frag from the combined
post-trailer skb->data_len.

Reject the page-frag fast path when the combined aligned length exceeds a
page. Otherwise skb_page_frag_refill() may fall back to a single page while
the destination sg still spans the combined skb->data_len.

Restore this combined-length page gate for both IPv4 and IPv6.

Weakness: CWE-125 (Out-of-bounds Read)

## Which versions are affected by CVE-2026-63912?


## How do I fix CVE-2026-63912?

Apply the vendor's patch.

## Is CVE-2026-63912 being exploited?

There is no known exploitation of CVE-2026-63912 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-63912 and fix it if it is affected.

What it is: CVE-2026-63912 is a critical memory corruption vulnerability in Linux, published on 19 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-63912 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-63912/ (Markdown: https://insights.sbomify.com/CVE-2026-63912/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-63912
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-63912
- OSV: https://osv.dev/vulnerability/CVE-2026-63912

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-63912/
Summaries are generated and may contain mistakes; the official description above is the record.
