Look up another CVE · open CVE-2025-40266 in the interactive tracker
CVE-2025-40266
KVM: arm64: Check the untrusted offset in FF-A memory share
Published 2025-12-04 (10 months ago) by the Linux kernel CNA. Subsystem arch/arm64. Debian urgency: not yet assigned.
What to do, per Debian release
Debian's own status for CVE-2025-40266 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | vulnerable | 6.1.190-1 | No fix published anywhere yet, neither in Debian nor upstream for the series bookworm tracks. Watch the Debian tracker page for this CVE. Advisories for bookworm have historically landed a median of 23 days after publication. |
| Debian 13trixie | fixed | 6.12.63-1 | Update the kernel and reboot. Fixed in 6.12.63-1. A running kernel keeps the old code until the machine restarts. |
| Debian 14forky | fixed | 6.17.10-1 | Update the kernel and reboot. Fixed in 6.17.10-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 6.17.10-1 | Update the kernel and reboot. Fixed in 6.17.10-1. A running kernel keeps the old code until the machine restarts. |
The vulnerability
What the bug is
Verify the offset to prevent OOB access in the hypervisor FF-A buffer in case an untrusted large enough value [U32_MAX - sizeof(struct ffa_composite_mem_region) + 1, U32_MAX] is set from the host kernel.
Where it lives
The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.
arch/arm64/kvm/hyp/nvhe/ffa.c
- What this is
- KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)MAINTAINERS section matched on arch/arm64/kvm/ · linux-arm-kernel@lists.infradead.org · Maintained
Show whether Debian builds this, per release
Not established. This site could not find the build rule for the affected file in the kernel trees Debian ships, so it has no answer about whether Debian compiles this code. Read that as unknown, never as absent.
- bookworm, trixie, forky, sid?
- ?
- not established - no Makefile entry for the affected file
Where a release above reads "not established", no build rule for the affected file was found in that release's kernel tree. That is a gap in this lookup, not a finding that the code is absent.
From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS
Signals
- Published
- 2025-12-04 (10 months ago)source
- CVSS
- 8.2 high
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:Hsource recompute it - Attack vector
- local (AV:L)source
- EPSS
- 0.15%, higher than 3.8% of all CVEssource
- CISA KEV
- not listedthe KEV catalogue
- Debian urgency
- not yet assignedsource
- Subsystem
- arch/arm64
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 3.11 | 6.6.118 | fc3139d9f4c1 |
| 3.11 | 6.12.60 | bc1909ef3878 |
| 3.11 | 6.17.10 | f9f1aed6c8a3 |
| 3.11 | 6.18 | 103e17aac09c |
Why the CNA scored it this way
Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source
- AV:LAttack vector, local
- The vulnerable code is the EL2 FF-A proxy, reached only via an SMC trapped from host EL1 with a host-supplied TX mailbox; this requires local execution on the machine, with no network or physical vector.
- AC:LAttack complexity, low
- The host kernel fully controls the SMC registers (len/fraglen) and every byte of the TX buffer including composite_off, so the condition is set deterministically with no race or memory-layout dependency.
- PR:HPrivileges required, high
- SMC is undefined at EL0 and no userspace FF-A interface exists, so the attacker must already execute code in the host kernel at EL1 — real root plus kernel-level access, not reachable through user namespaces.
- UI:NUser interaction, none
- The attacker issues the FFA_MEM_SHARE/FFA_MEM_LEND SMC itself; no victim action or interaction of any kind is needed.
- S:CScope, changed
- The vulnerable component is the pKVM EL2 hypervisor, a distinct security authority whose purpose is isolating protected guest VMs and the secure world from the untrusted host; corrupting it impacts resources beyond the host kernel's own authority.
- C:HConfidentiality impact, high
- The out-of-bounds read extends far past the single-page hyp TX buffer with attacker-chosen displacement and unbounded length, and the OOB contents drive observable host-page sharing decisions, forming a disclosure oracle over hypervisor-private memory.
- I:HIntegrity impact, high
- Out-of-bounds constituent data is passed to __pkvm_host_share_ffa(), corrupting the hypervisor's page-ownership state and defeating the FF-A filter that prevents host-mediated exposure of protected guest memory to the secure world.
- A:HAvailability impact, high
- Walking hundreds of millions of constituents past a one-page EL2 mapping faults in the hypervisor, causing hyp_panic and taking down the host and every guest on the system.