# CVE-2026-98472: KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV

> A use-after-free vulnerability in Linux KVM SEV allows local attackers with high privileges to cause denial of service or escalate privileges.

- **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:** 18 Oct 2026
- **Updated:** 19 Oct 2026
- **Also known as:** BELL-CVE-2026-98472, DEBIAN-CVE-2026-98472, GHSA-qccv-gmm4-2g2g, UBUNTU-CVE-2026-98472

## What is CVE-2026-98472?

CVE-2026-98472 is an use after free vulnerability in Linux, published on 18 Oct 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:

KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV

Unconditionally free SEV's "have run CPUs" cpumask in the VM destroy path,
i.e. even for what appear to be non-SEV VMs, as an SEV VM becomes a non-SEV
VM if its state is intra-host migrated.  Alternatively, the mask could be
freed in sev_migrate_from() when "converting" the source VM, but that gets
annoying because ideally KVM would nullify the mask to guard against UAF,
and nullifying the mask would need be conditioned on CPUMASK_OFFSTACK=y.

Freeing the mask during sev_migrate_from() is also not robust against other
KVM bugs, though that's kind of a moot point since any such bugs would show
up even if sev->active is never set.  I.e. KVM must get that side of things
correct.  But, that's not a great reason to add more code just to make
things marginally less robust.

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


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

Apply the vendor's patch.

## Is CVE-2026-98472 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-98472 is an use after free vulnerability in Linux, published on 18 Oct 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-98472 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-98472/ (Markdown: https://insights.sbomify.com/CVE-2026-98472/index.md)
```

## Sources

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

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