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

KVM: arm64: nv: Fix life cycle of the nested_mmus array

The nested_mmus array holds the shadow page tables that are used when
a guest is running a nested context. These structures are allocated on
VCPU_INIT for whole guest, which implies that they may have to be
relocated as the array grows.

Should a VCPU_INIT occur whilst a vcpu is actively running an L2 and
that the allocation requires relocation, that vcpu will still be
running with a pointer to the previous structure, which will have been
freed.

Fix this by turning the array of structures to an array of pointers,
which is now allocated at VM creation, sized to the absolute maximum
that KVM can handle.

In turn, each VCPU_INIT contributes S2_MMU_PER_VCPU to the pool. No
reallocation is ever performed, and the life cycle of each object is
much clearer:

- the nested_mmus array is allocated in kvm_init_nested(), and freed
in kvm_arch_destroy_vm()

- s2_mmu structures are allocated in kvm_vcpu_init_nested(), and freed
on kvm_arch_flush_shadow_all()

Finally, the freeing of vcpu->arch.vncr_array is made consistent
rather than being done on some failure paths, but not others.
Published: 2026-10-23
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel use‑after‑free that can lead to execution of code in the host
Action: Apply Patch
AI Analysis

Impact

The vulnerability arises from the nested_mmus array that holds shadow page tables for nested guests in the Linux KVM hypervisor on arm64. When a virtual CPU is reinitialized while it is actively running a second‑level guest, a relocation of this array can occur. The running VCPU continues to reference the old, freed structure, creating a classic use‑after‑free condition. An attacker that can trigger such a scenario could corrupt kernel memory or execute arbitrary code with host privileges, as the flaw is a memory safety bug within the hypervisor component. This is a memory safety flaw identified by CWE-825.

Affected Systems

Any Linux system that runs a kernel build for arm64 with the KVM nv module and has not incorporated the referenced commits is potentially affected. The advisory does not list exact kernel versions, so users should verify whether their kernel contains the fix or has been upgraded to a newer release. Distribution kernels that ship the KVM driver for arm64 without the patch are included in this risk pool.

Risk and Exploitability

The CVSS score of 7 indicates moderate severity, while the EPSS score of less than 1% suggests a very low probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog, and no public exploit is known. Based on the description, it is inferred that the likely attack vector requires local or privileged access to trigger a VCPU initialization during a nested guest session. Until a public exploit emerges, the overall risk remains moderate, but the kernel‑level impact warrants prompt attention.

Generated by OpenCVE AI on October 29, 2026 at 20:58 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates the commit identified by 33346f8960c7bb6a3b4e273b5cfe25c5a8be349f to 512c93f4461b9a3735987f48423d438a9cd49e6a, ensuring the nested_mmus array is correctly allocated and freed.
  • If a kernel update is not immediately possible, pause or terminate all nested guests before performing any VCPU initialization, or reboot the host to eliminate dangling pointers during VCPU_INIT.
  • For custom or out‑of‑tree kernel builds, manually apply the code changes that convert the array to a pointer structure, rebuild the kernel, and redeploy the patched kernel on affected hosts.

Generated by OpenCVE AI on October 29, 2026 at 20:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History

Thu, 29 Oct 2026 12:15:00 +0000


Sat, 24 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 24 Oct 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Fri, 23 Oct 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Fix life cycle of the nested_mmus array The nested_mmus array holds the shadow page tables that are used when a guest is running a nested context. These structures are allocated on VCPU_INIT for whole guest, which implies that they may have to be relocated as the array grows. Should a VCPU_INIT occur whilst a vcpu is actively running an L2 and that the allocation requires relocation, that vcpu will still be running with a pointer to the previous structure, which will have been freed. Fix this by turning the array of structures to an array of pointers, which is now allocated at VM creation, sized to the absolute maximum that KVM can handle. In turn, each VCPU_INIT contributes S2_MMU_PER_VCPU to the pool. No reallocation is ever performed, and the life cycle of each object is much clearer: - the nested_mmus array is allocated in kvm_init_nested(), and freed in kvm_arch_destroy_vm() - s2_mmu structures are allocated in kvm_vcpu_init_nested(), and freed on kvm_arch_flush_shadow_all() Finally, the freeing of vcpu->arch.vncr_array is made consistent rather than being done on some failure paths, but not others.
Title KVM: arm64: nv: Fix life cycle of the nested_mmus array
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 Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-24T14:09:32.255Z

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

Link: CVE-2026-98927

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:13.450

Modified: 2026-10-24T14:16:48.507

Link: CVE-2026-98927

cve-icon Redhat

Severity : Important

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

Links: CVE-2026-98927 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T21:00:22Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference