CVE-2026-72277 PUBLISHED

KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory

Assigner: Linux
Reserved: 09.08.2026 Published: 15.08.2026 Updated: 17.08.2026

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

KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory

When constructing an L1 VNCR mapping, KVM unconditionally uses cacheable memory attributes, even if the underlying PFN isn't memory. This gets particularly hairy if the endpoint doesn't support cacheable memory attributes, potentially throwing an SError on writeback...

While KVM does permit cacheable memory attributes on certain PFNMAP VMAs, kvm_translate_vncr() isn't currently grabbing the VMA. So do the simpler thing for now and just reject everything that isn't memory.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS Score: 9.3

AV:L - The bug is reached only when an arm64 nested-KVM L1 hypervisor triggers VNCR_EL2 data aborts (ESR_ELx_EC_DABT_CUR with ESR_ELx_VNCR) during KVM_RUN, handled via kvm_handle_vncr_abort(); no network, adjacent-radio, or physical-device path reaches this code. AC:L - An attacker controlling an L1 nested-hypervisor VM can set VNCR_EL2 and guest EL2 page tables to point VNCR at non-RAM guest physical addresses (e.g. VFIO/MMIO passthrough) and reliably trigger VNCR translation faults; nested virt on arm64 cloud hosts is an attacker-selectable deployment, not an uncontrollable condition. PR:N - Exploitation requires no host root or init-namespace capabilities beyond running hypervisor code in a tenant KVM guest on an arm64 host with nested virtualization enabled; the attacker operates entirely from within their assigned VM, consistent with other arm64 KVM nested-virt CVE scoring. UI:N - No victim user or administrator action is required beyond the attacker operating their own nested-virtualization workload; VNCR faults, page-table configuration, and fixmap establishment are fully attacker-driven from within the guest. S:C - Guest-controlled VNCR_EL2 mappings cause host KVM to create per-CPU EL2 fixmap aliases with cacheable kernel attributes to attacker-chosen non-RAM physical pages, crossing the guest-to-hypervisor security boundary and impacting host kernel integrity and availability beyond the guest's intended authority. C:H - Before the fix, kvm_map_l1_vncr() mapped non-memory PFNs via __set_fixmap() with PAGE_KERNEL/PAGE_KERNEL_RO, letting the host hypervisor read attacker-selected physical addresses (device/MMIO or other non-RAM PFNs) through kernel virtual addresses during VNCR register emulation, providing an information-disclosure primitive across the isolation boundary. I:H - The same writable cacheable fixmap mapping gives the host kernel write access to attacker-chosen non-RAM physical pages; combined with incorrect cacheable attributes on endpoints that reject them, this can corrupt device/MMIO state and trigger uncontained host SErrors, constituting arbitrary physical write impact beyond guest scope. A:H - Mapping non-memory PFNs with cacheable attributes can provoke Synchronous External Abort/SError on cache maintenance or writeback; on arm64 these commonly escalate to arm64_serror_panic()/nmi_panic(), crashing the host and denying service to all co-resident VMs and workloads.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 2a359e072596fcb2e9e85017a865e3618a2fe5b5 to d5436e18e4fc2886ac306304d884ea3b92e1edbf (excl.)
  • affected from 2a359e072596fcb2e9e85017a865e3618a2fe5b5 to bc00e0e376ee3572f5d26c174473abef1e35decc (excl.)
  • affected from 2a359e072596fcb2e9e85017a865e3618a2fe5b5 to 4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.16 is affected
  • unaffected from 0 to 6.16 (excl.)
  • unaffected from 6.18.40 to 6.18.* (incl.)
  • unaffected from 7.1.5 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References