CVE-2025-40102KVM: arm64: Prevent access to vCPU events before init
- —Not scoredno CVSS score yet
- 0.22%Exploitation in 30 daysEPSS · top 87% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Prevent access to vCPU events before init Another day, another syzkaller bug. KVM erroneously allows userspace to pend vCPU events for a vCPU that hasn't been initialized yet, leading to KVM interpreting a bunch of uninitialized garbage for routing / injecting the exception. In one case the injection code and the hyp disagree on whether the vCPU has a 32bit EL1 and put the vCPU into an illegal mode for AArch64, tripping the BUG() in exception_target_el() during the next injection: kernel BUG at arch/arm64/kvm/inject_fault.c:40! Internal error: Oops - BUG: 00000000f2000800 [#1] SMP CPU: 3 UID: 0 PID: 318 Comm: repro Not tainted 6.17.0-rc4-00104-g10fd0285305d #6 PREEMPT Hardware name: linux,dummy-virt (DT) pstate: 21402009 (nzCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : exception_target_el+0x88/0x8c lr : pend_serror_exception+0x18/0x13c sp : ffff800082f03a10 x29: ffff800082f03a10 x28: ffff0000cb132280 x27: 0000000000000000 x26: 0000000000000000 x25: ffff0000c2a99c20 x24: 0000000000000000 x23: 0000000000008000 x22: 0000000000000002 x21: 0000000000000004 x20: 0000000000008000 x19: ffff0000c2a99c20 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 00000000200000c0 x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : ffff800082f03af8 x7 : 0000000000000000 x6 : 0000000000000000 x5 : ffff800080f621f0 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 000000000040009b x1 : 0000000000000003 x0 : ffff0000c2a99c20 Call trace: exception_target_el+0x88/0x8c (P) kvm_inject_serror_esr+0x40/0x3b4 __kvm_arm_vcpu_set_events+0xf0/0x100 kvm_arch_vcpu_ioctl+0x180/0x9d4 kvm_vcpu_ioctl+0x60c/0x9f4 __arm64_sys_ioctl+0xac/0x104 invoke_syscall+0x48/0x110 el0_svc_common.constprop.0+0x40/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x34/0xf0 el0t_64_sync_handler+0xa0/0xe4 el0t_64_sync+0x198/0x19c Code: f946bc01 b4fffe61 9101e020 17fffff2 (d4210000) Reject the ioctls outright as no sane VMM would call these before KVM_ARM_VCPU_INIT anyway. Even if it did the exception would've been thrown away by the eventual reset of the vCPU's state.
Timeline
ID reserved
By Linux
- 7 months later
· 7 months later
Published
- 10 months later
· 10 months later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
No CVSS score yet: neither the CNA, CISA nor NVD has scored this CVE. NVD status: Deferred.
- EPSS (exploitation in 30 days)
- 0.22% · top 87% of all CVEs (12 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: Not scored.
Affected products
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < b0ab34a9e4cd5b88b522cc156e792cefe3085334
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < d64461d38972302f0243498ff409b0d54e14e106
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < b498f0da45a388b40195f7198455c62fe366a372
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < 7b854e68365a84dfa984ee81268e10b9311ac9d2
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < c0fcd72e7eb50205dc20731033b0b1c67ecbe4dc
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < 64a04e6320fc5affbadc59dc7024d79f909bfe84
- affected b7b27facc7b50a5fce0afaa3df56157136ce181a – < 0aa1b76fe1429629215a7c79820e4b96233ac4a3
- affected 4.19
- unaffected < 4.19
- unaffected 5.10.269 – ≤ 5.10.*
- unaffected 5.15.220 – ≤ 5.15.*
- unaffected 6.1.187 – ≤ 6.1.*
- unaffected 6.6.156 – ≤ 6.6.*
- unaffected 6.12.108 – ≤ 6.12.*
- unaffected 6.17.5 – ≤ 6.17.*
- unaffected 6.18 – ≤ *
References
References7
- https://git.kernel.org/stable/c/b0ab34a9e4cd5b88b522cc156e792cefe3085334 (opens in a new tab)
- https://git.kernel.org/stable/c/d64461d38972302f0243498ff409b0d54e14e106 (opens in a new tab)
- https://git.kernel.org/stable/c/b498f0da45a388b40195f7198455c62fe366a372 (opens in a new tab)
- https://git.kernel.org/stable/c/7b854e68365a84dfa984ee81268e10b9311ac9d2 (opens in a new tab)
- https://git.kernel.org/stable/c/c0fcd72e7eb50205dc20731033b0b1c67ecbe4dc (opens in a new tab)
- https://git.kernel.org/stable/c/64a04e6320fc5affbadc59dc7024d79f909bfe84 (opens in a new tab)
- https://git.kernel.org/stable/c/0aa1b76fe1429629215a7c79820e4b96233ac4a3 (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2025-36976 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2025-40102)Record last updated .