KVM: nSVM: Raise #UD if unhandled VMMCALL isn't intercepted by L1
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Raise #UD if unhandled VMMCALL isn't intercepted by L1 Explicitly synthesize a #UD for VMMCALL if L2 is active, L1 does NOT want to intercept VMMCALL, nested_svm_l2_tlb_flush_enabled() is true, and the hypercall is something other than one of the supported Hyper-V hypercalls. When all of the above conditions are met, KVM will intercept VMMCALL but never forward it to L1, i.e. will let L2 make hypercalls as if it were L1. The TLFS says a whole lot of nothing about this scenario, so go with the architectural behavior, which says that VMMCALL #UDs if it's not intercepted. Opportunistically do a 2-for-1 stub trade by stub-ifying the new API instead of the helpers it uses. The last remaining "single" stub will soon be dropped as well. [sean: rewrite changelog and comment, tag for stable, remove defunct stubs]
CVE-2026-46076
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-46076
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3f4a812edf5cb0a50e65fbdfafdb3e688da18f16",
"lessThan": "fcef67506c0234935cb0fb026740a637edb58d7c",
"versionType": "git"
},
{
"status": "affected",
"version": "3f4a812edf5cb0a50e65fbdfafdb3e688da18f16",
"lessThan": "924d721fae95687acedbaf624a094ed0e8b67104",
"versionType": "git"
},
{
"status": "affected",
"version": "3f4a812edf5cb0a50e65fbdfafdb3e688da18f16",
"lessThan": "009c0f726abeaa67aad1d96b883bdce01d405ce2",
"versionType": "git"
},
{
"status": "affected",
"version": "3f4a812edf5cb0a50e65fbdfafdb3e688da18f16",
"lessThan": "5fb4a5f361565f5b629d8a8fe5288ce8463c5727",
"versionType": "git"
},
{
"status": "affected",
"version": "3f4a812edf5cb0a50e65fbdfafdb3e688da18f16",
"lessThan": "c36991c6f8d2ab56ee67aff04e3c357f45cfc76c",
"versionType": "git"
}
],
"programFiles": [
"arch/x86/kvm/hyperv.h",
"arch/x86/kvm/svm/hyperv.h",
"arch/x86/kvm/svm/nested.c",
"arch/x86/kvm/svm/svm.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.2"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.2",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.6.160",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.86",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.27",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.0.4",
"versionType": "semver",
"lessThanOrEqual": "7.0.*"
},
{
"status": "unaffected",
"version": "7.1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"arch/x86/kvm/hyperv.h",
"arch/x86/kvm/svm/hyperv.h",
"arch/x86/kvm/svm/nested.c",
"arch/x86/kvm/svm/svm.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-46076
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #46326 · Revision 1
- Added to Heist Feed
- Publisher date