# CVE-2026-74599: mm/ptdump: always stabilise against page table freeing using init_mm

> A race condition in Linux kernel ptdump allows local attackers to exploit page table freeing races, potentially leading to privilege escalation or code execution.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** An administrator
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 22 Aug 2026
- **Updated:** 23 Aug 2026
- **Also known as:** AZL-97272, BELL-CVE-2026-74599, DEBIAN-CVE-2026-74599, GHSA-w5r5-f3r4-g5m8, UBUNTU-CVE-2026-74599

## What is CVE-2026-74599?

CVE-2026-74599 is a vulnerability in Linux, published on 22 Aug 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/ptdump: always stabilise against page table freeing using init_mm

Previous commits have established the invariant that kernel page table
freeing is performed while an mmap read lock on init_mm is held, which
fixes races between ptdump and kernel page table freeing over init_mm.

However, x86 and arm64 can perform a ptdump over an mm other than init_mm
via ptdump_walk_pgd() and since kernel memory ranges are shared across
non-kernel mm's, this means that the race still exists for these cases.

Fix this by acquiring a nested mmap write lock for init_mm in
ptdump_walk_pgd().

This is safe as we take this after mmap write locking the mm, and nothing
acquires the init_mm lock first before locking an arbitrary mm, so no
deadlock is possible.

Also update walk_page_range_debug() to assert that init_mm is write
locked, add a comment explaining why and remove some redundant code, and
eliminate the unnecessary and confusing invocation of
walk_kernel_page_table_range().

We can safely remove the non-NULL check for walk.mm, as the mmap lock
asserts would NULL pointer deref if it was (and of course no callers do
this).

The first point at which ptdump can race kernel page table freeing is
commit b6bdb7517c3d ("mm/vmalloc: add interfaces to free unmapped page
table"), so we target this in the Fixes tag.

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


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

Apply the vendor's patch.

## Is CVE-2026-74599 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-74599 is a vulnerability in Linux, published on 22 Aug 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-74599 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-74599/ (Markdown: https://insights.sbomify.com/CVE-2026-74599/index.md)
```

## Sources

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

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