CVE-2026-98283
KVM: PPC: Book3S HV: fix use-after-free in kvmhv_emulate_tlbie_all_lpid()
No known exploitation. EPSS puts it in the 3rd percentile. Fixed versions are out.
What to do
Find your product and version, then upgrade to the build on the right.
- LinuxAffected: ≥ e3b6b4661527e821ffbe3db83952fdb1e6e47c49, < 4d8f7b1f586375df8bce23a0909566ad5e852259Upgrade to: 4d8f7b1f586375df8bce23a0909566ad5e852259Affected: ≥ e3b6b4661527e821ffbe3db83952fdb1e6e47c49, < e37fba1ba69385cff2d0e60b371ee19e7d1852d1Upgrade to: e37fba1ba69385cff2d0e60b371ee19e7d1852d1Affected: ≥ e3b6b4661527e821ffbe3db83952fdb1e6e47c49, < 24b634852413229bb8340d908b115c3365f3a247Upgrade to: 24b634852413229bb8340d908b115c3365f3a247Affected: ≥ e3b6b4661527e821ffbe3db83952fdb1e6e47c49, < fbf69b7d0555ee83c871f58750770f74b7179ad1Upgrade to: fbf69b7d0555ee83c871f58750770f74b7179ad1 + 2 more branchesStated by: CVE record
Versions as the sources state them. Full version matrix after sign-in
What it is
From the CVE record
In the Linux kernel, the following vulnerability has been resolved: KVM: PPC: Book3S HV: fix use-after-free in kvmhv_emulate_tlbie_all_lpid() kvmhv_emulate_tlbie_all_lpid() iterates the nested-guest IDR and drops mmu_lock before calling kvmhv_emulate_tlbie_lpid(), but does not hold a reference on the kvm_nested_guest pointer obtained from the IDR. A concurrent vCPU issuing a single-LPID tlbie (is=2, ric=2) can race through kvmhv_flush_nested() -> kvmhv_remove_nested() -> idr_remove / --refcnt -> kvmhv_release_nested() -> kfree(gp) in that window, leaving the iterating vCPU with a dangling pointer. The subsequent mutex_lock(&gp->tlb_lock) and accesses to gp->shadow_pgtable, gp->shadow_lpid and gp->l1_host all touch freed memory. The free path is fully L1-controlled. Fix this by incrementing gp->refcnt inside the loop before dropping mmu_lock, mirroring what kvmhv_get_nested() does, and releasing the reference with kvmhv_put_nested() after the per-guest work completes. This is the same get/put discipline already used at every other call site that drops mmu_lock while holding a nested-guest pointer.
In plain language
No plain-language summary for this CVE yet.
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
0.1% chance of exploitation activity in the next 30 days, which ranks it in the 3rd percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
Lifecycle
3 events over 1 day, from the signal feeds we watch.
- Record updated
- Publishedrecord updated
Affected products
Technical detail
CVSS 3.1 vector
Open in the CVSS calculatorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Scored 8.8 by NVD.
How it is reached
- Attack Vector LocalRequires local access to the vulnerable system (e.g. local login, malicious file)
- Attack Complexity LowNo special conditions — the attack can be reliably reproduced
- Privileges Required LowRequires basic user-level privileges
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope ChangedThe exploit can affect other components (e.g. sandbox escape, host compromise from VM)
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability HighTotal denial of service — the component is completely unavailable
Sources
References in the record
- git.kernel.org/stable/c/24b634852413229bb8340d908b115c3365f3a247
- git.kernel.org/stable/c/4d8f7b1f586375df8bce23a0909566ad5e852259
- git.kernel.org/stable/c/51938dfa8a51a4f85328413fca9b6e21f9d2d088
And 3 more references. See all after sign-in
In the news
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Linux, not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI