# CVE-2026-89752: mm: memcg: stop reclaim when a limit update is superseded

> A race condition in Linux kernel memory cgroup reclaim allows local attackers to cause indefinite loops and denial of service.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 11 Sep 2026
- **Updated:** 19 Oct 2026
- **Also known as:** AZL-100536, BELL-CVE-2026-89752, DEBIAN-CVE-2026-89752, GHSA-8w7m-rmxj-xxh8, UBUNTU-CVE-2026-89752

## What is CVE-2026-89752?

CVE-2026-89752 is a vulnerability in Linux, published on 11 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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

mm: memcg: stop reclaim when a limit update is superseded

kernfs serializes file operations only per open file, so separate open
files can update the same memory.high or memory.max file concurrently. 
Both handlers store the new limit before synchronous reclaim, but continue
to use the writer's local target in the reclaim loop.  If another writer
raises or removes the limit, the first writer can continue reclaiming
toward a stale target.

For memory.max, this can leave the writer looping indefinitely once
reclaim retries are exhausted.  The OOM path sees sufficient margin under
the current limit and returns true without killing, while the writer still
compares usage against its stale target and records another OOM event.

Check the current limit at the start of each reclaim iteration and stop if
it no longer matches the writer's target.

Reproducer:

Populate a cgroup with anonymous memory and disable swapping.  Lower
memory.max from one open file, then restore it to "max" through another
open file after the new limit becomes visible.

Without the patch, the first writer remains blocked and repeatedly
increments the OOM event counter.  With the patch, it returns normally.

This was not motivated by a reported production workload.  We found it
through automated randomized testing for our cgroup observability work
and reduced it to the reproducer above.

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


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

Apply the vendor's patch.

## Is CVE-2026-89752 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-89752 is a vulnerability in Linux, published on 11 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-89752 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-89752/ (Markdown: https://insights.sbomify.com/CVE-2026-89752/index.md)
```

## Sources

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

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