Critical severity · published Sep 16, 2026
CVE-2026-89916
KVM: arm64: Make VNCR invalidation participate in MMU invalidation retry
9.3
CVSS
0.2%
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Make VNCR invalidation participate in MMU invalidation retry
A VNCR TLB invalidation can occur on one vcpu while another vcpu is
faulting in this same page. Without correctly handling this, we can
end up with the following scenario:
- vcpu A walks the PTs to translate VNCR
- before vcpu A is able to grab the MMU lock to insert the TLB,
vcpu B updates the S1 PTs with an invalid entry, and issues
a TLBI S1E2 for this VA
- vcpu A inserts the TLB for something that is now invalid
This isn't a new problem, and we manage S2 by having the MMU notifier
to bump up mmu_invalidate_seq on invalidation so that the fault can be
replayed.
We can perform something similar here, and extend invalidate_vncr_va() to
update the same counter, clearly indicating that the context has
changed under our feet. This is safe as the invalidation always happen
while holding the MMU lock for write, and that we sample the sequence
number before walking S1.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 9% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
4ffa72ad8f37e73bbb6c0baa88557bcb4fd39929 before d8580e7aa189b0c6c5bb4d94b8352728a7c35bbd; 4ffa72ad8f37e73bbb6c0baa88557bcb4fd39929 before 11ee3faab4f1755d126bead9f882e75a7a677860; 4ffa72ad8f37e73bbb6c0baa88557bcb4fd39929 before 2b7324f3a0c1072b9d578b8d42f199506753f26e; 6.16 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-89916
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-89916
git.kernel.org
https://git.kernel.org/stable/c/11ee3faab4f1755d126bead9f882e75a7a677860
git.kernel.org
https://git.kernel.org/stable/c/2b7324f3a0c1072b9d578b8d42f199506753f26e
git.kernel.org
https://git.kernel.org/stable/c/d8580e7aa189b0c6c5bb4d94b8352728a7c35bbd
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
7.8
CVE-2025-38352
posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
