Description
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.
Published: 2026-10-06
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Potential remote code execution in the host kernel via a use‑after‑free in KVM PowerPC Book3S hypervisor
Action: Apply patch
AI Analysis

Impact

The CVE describes a use‑after‑free vulnerability in the Linux kernel’s KVM PowerPC Book3S hypervisor. During a nested TLB flush, the code iterates a nested‑guest IDR and releases mmu_lock before holding a reference to the nested‑guest structure. A concurrent virtual CPU can race through the flush and removal sequence, freeing the structure while it is still being accessed. The exploit path dereferences freed memory in the host kernel, which can lead to arbitrary code execution at kernel privilege level.

Affected Systems

All Linux kernel KVM deployments running on PowerPC Book3S hardware that lack the commit adding a reference count for the nested‑guest structure are vulnerable. No specific kernel version range is published, so any kernel built without the patch commit is considered affected. The vulnerability applies to Linux:Linux vendor products across CPEs, and both known CNA vendor references listed.

Risk and Exploitability

The CVSS score of 8.8 reflects high severity. The EPSS score of <1% suggests a very low likelihood of exploitation, and the flaw is not listed in the CISA KEV catalog. Nevertheless, exploitation requires a privileged environment where a malicious nested guest can control the timing of TLB flush operations, which is typically restricted to host administrators or trusted tenants. If an attacker can induce the race condition, the use‑after‑free could crash the kernel or allow arbitrary code execution at the host level.

Generated by OpenCVE AI on October 11, 2026 at 04:58 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that increments the reference count before dropping mmu_lock in kvmhv_emulate_tlbie_all_lpid()
  • Reboot or reload the kernel to activate the patched code
  • If the patch cannot be applied immediately, disable nested virtualization on the host or restrict access to trusted guests until an update is available

Generated by OpenCVE AI on October 11, 2026 at 04:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Sun, 11 Oct 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 11 Oct 2026 00:30:00 +0000


Wed, 07 Oct 2026 11:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 07 Oct 2026 09:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 07 Oct 2026 07:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Tue, 06 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description 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.
Title KVM: PPC: Book3S HV: fix use-after-free in kvmhv_emulate_tlbie_all_lpid()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:16:54.747Z

Reserved: 2026-09-25T10:25:14.335Z

Link: CVE-2026-98283

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:18.333

Modified: 2026-10-19T10:18:29.817

Link: CVE-2026-98283

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98283 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-11T05:00:12Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference