# CVE-2026-80638: ocfs2: fix out-of-bounds write in ocfs2_remove_refcount_extent

> An out-of-bounds write in the OCFS2 filesystem allows attackers to cause a kernel panic or potentially execute code via crafted file operations.

- **Severity:** High 8.8 (`CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 28 Aug 2026
- **Updated:** 29 Aug 2026
- **Also known as:** DEBIAN-CVE-2026-80638, GHSA-pf3v-qrvc-chw5, UBUNTU-CVE-2026-80638

## What is CVE-2026-80638?

CVE-2026-80638 is a high-severity memory corruption vulnerability in Linux, published on 28 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

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

ocfs2: fix out-of-bounds write in ocfs2_remove_refcount_extent

[BUG]
Unlinking a refcounted file whose refcount tree has leaf blocks
triggers a fortify panic due to an out-of-bounds write.

[CAUSE]
When the last leaf block is removed from a refcount tree,
ocfs2_remove_refcount_extent() converts the root back to leaf mode
with a bulk memset on &rb->rf_records. rf_records sits in an anonymous
union with rf_list. rf_list.l_tree_depth aliases rf_records.rl_count,
and is 0 for a single-level tree. With rl_count equal to 0, the memset
writes past the 16-byte declared size of rf_records, which the fortify
checker catches.

[FIX]
Replace the bulk memset on &rb->rf_records with a correctly-bounded
memset on rl_recs[] alone, after setting rl_count to the correct value.

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


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

Apply the vendor's patch.

## Is CVE-2026-80638 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-80638 is a high-severity memory corruption vulnerability in Linux, published on 28 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-80638 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-80638/ (Markdown: https://insights.sbomify.com/CVE-2026-80638/index.md)
```

## Sources

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

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