---
id: CVE-2026-46076
title: 'KVM: nSVM: Raise #UD if unhandled VMMCALL isn''t intercepted by L1'
summary: |-
  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, neste…
severity: high
cvss: 7.9
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 <
    924d721fae95687acedbaf624a094ed0e8b67104
  - >-
    Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 <
    009c0f726abeaa67aad1d96b883bdce01d405ce2
  - >-
    Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 <
    5fb4a5f361565f5b629d8a8fe5288ce8463c5727
  - >-
    Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 <
    c36991c6f8d2ab56ee67aff04e3c357f45cfc76c
  - Linux 6.2
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-16T15:19:27.445501Z'
published: '2026-05-27'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:50.172Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-46076'
references:
  - url: 'https://git.kernel.org/stable/c/924d721fae95687acedbaf624a094ed0e8b67104'
  - url: 'https://git.kernel.org/stable/c/009c0f726abeaa67aad1d96b883bdce01d405ce2'
  - url: 'https://git.kernel.org/stable/c/5fb4a5f361565f5b629d8a8fe5288ce8463c5727'
  - url: 'https://git.kernel.org/stable/c/c36991c6f8d2ab56ee67aff04e3c357f45cfc76c'
tags:
  - cve.org
epss: 0.00121
epssPercentile: 0.01761
ingestedAt: '2026-10-16T17:24:46.705Z'
---

## Overview

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]

## Affected

- `Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 < 924d721fae95687acedbaf624a094ed0e8b67104`
- `Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 < 009c0f726abeaa67aad1d96b883bdce01d405ce2`
- `Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 < 5fb4a5f361565f5b629d8a8fe5288ce8463c5727`
- `Linux >= 3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 < c36991c6f8d2ab56ee67aff04e3c357f45cfc76c`
- `Linux 6.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
