VMSCAPE CVE-2025-40300
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| linux (Ubuntu) |
Fix Committed
|
High
|
Massimiliano Pellizzer | ||
| Trusty |
Fix Committed
|
High
|
Cengiz Can | ||
| Xenial |
Fix Committed
|
High
|
Cengiz Can | ||
| Bionic |
Fix Committed
|
High
|
Cengiz Can | ||
| Focal |
Fix Committed
|
High
|
Massimiliano Pellizzer | ||
| Jammy |
Fix Released
|
High
|
Massimiliano Pellizzer | ||
| Noble |
Fix Released
|
High
|
Massimiliano Pellizzer | ||
| Plucky |
Fix Released
|
High
|
Massimiliano Pellizzer | ||
| Questing |
Fix Committed
|
High
|
Massimiliano Pellizzer | ||
Bug Description
[ Impact ]
VMSCAPE is a vulnerability, affecting a broad range of amd64 CPUs,
that may allow a guest to influence the branch prediction in host userspace.
It particularly affects hypervisors like QEMU.
Even if a hypervisor may not have any sensitive data like disk encryption keys,
guest-userspace may be able to attack the guest-kernel using the hypervisor
as a confused deputy.
[ Fix ]
Backport the following patchset to all affected series:
- 9969779d0803 Documentation/
- a508cec6e521 x86/vmscape: Enumerate VMSCAPE bug
- 2f8f173413f1 x86/vmscape: Add conditional IBPB mitigation
- 556c1ad666ad x86/vmscape: Enable the mitigation
- 6449f5baf9c7 x86/bugs: Move cpu_bugs_
- b7cc98872315 x86/vmscape: Warn when STIBP is disabled with SMT
- 8a68d64bb103 x86/vmscape: Add old Intel CPUs to affected list
[ Test Plan ]
Boot the kernel on a system having a vulnerable CPU.
Fine tune the PoC (https:/
considering the CPU on which the kernel is running.
Run the PoC and make sure that it fails.
[ Regression Potential ]
The regression potential is moderate, since the patches add conditional
IBPB flushing on VMEXIT for the CPUs affected by the vulnerability.
Any issue would be limited to measurable performance regressions for
VM heavy workload that trigger frequent VMEXITs (due to IBPB overhead).
CVE References
| Changed in linux (Ubuntu Plucky): | |
| status: | New → In Progress |
| Changed in linux (Ubuntu Noble): | |
| status: | New → In Progress |
| Changed in linux (Ubuntu Plucky): | |
| assignee: | nobody → Massimiliano Pellizzer (mpellizzer) |
| Changed in linux (Ubuntu Noble): | |
| assignee: | nobody → Massimiliano Pellizzer (mpellizzer) |
| Changed in linux (Ubuntu Jammy): | |
| status: | New → In Progress |
| assignee: | nobody → Massimiliano Pellizzer (mpellizzer) |
| Changed in linux (Ubuntu Plucky): | |
| importance: | Undecided → High |
| Changed in linux (Ubuntu Noble): | |
| importance: | Undecided → High |
| Changed in linux (Ubuntu Jammy): | |
| importance: | Undecided → High |
| tags: | added: kernel-daily-bug |
| description: | updated |
| Changed in linux (Ubuntu Bionic): | |
| assignee: | nobody → Cengiz Can (cengizcan) |
| Changed in linux (Ubuntu Xenial): | |
| assignee: | nobody → Cengiz Can (cengizcan) |
| Changed in linux (Ubuntu Focal): | |
| importance: | Undecided → High |
| Changed in linux (Ubuntu Bionic): | |
| importance: | Undecided → High |
| Changed in linux (Ubuntu Xenial): | |
| importance: | Undecided → High |
| Changed in linux (Ubuntu Bionic): | |
| status: | Confirmed → In Progress |
| Changed in linux (Ubuntu Focal): | |
| assignee: | nobody → Cengiz Can (cengizcan) |
| status: | Confirmed → In Progress |
| Changed in linux (Ubuntu Xenial): | |
| status: | Confirmed → In Progress |
| Changed in linux (Ubuntu Focal): | |
| assignee: | Cengiz Can (cengizcan) → nobody |
| assignee: | nobody → Massimiliano Pellizzer (mpellizzer) |
| Changed in linux (Ubuntu Trusty): | |
| importance: | Undecided → High |
| assignee: | nobody → Cengiz Can (cengizcan) |
| status: | New → Fix Committed |
| Changed in linux (Ubuntu Xenial): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Bionic): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Focal): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Jammy): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Noble): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Plucky): | |
| status: | In Progress → Fix Committed |
| Changed in linux (Ubuntu Questing): | |
| status: | In Progress → Fix Released |
| status: | Fix Released → Fix Committed |
| Changed in linux (Ubuntu): | |
| status: | In Progress → Fix Committed |

Status changed to 'Confirmed' because the bug affects multiple users.