Linux kernel Hyper-V VMBus keeps connection state on error and exit paths
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 7 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel's Hyper-V VMBus driver forced vmbus_connection.conn_state to DISCONNECTED in two places before calling vmbus_disconnect(). vmbus_initiate_unload() unloads the connection only when conn_state is CONNECTED, so the connection stayed up and the Hyper-V host could keep sending messages or posting VMBus interrupts. The flaw came from commit 74347a99e73ae ("x86/Hyper-V: Unload vmbus channel in hv panic callback"), which left these two resets in place. Red Hat rates it Moderate, and it is not listed in CISA KEV.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: Drivers: hv: Don't reset VMBus connection state on error/exit paths In two places, current code forces vmbus_connection.conn_state to DISCONNECTED prior to calling vmbus_disconnect(). But vmbus_disconnect() calls vmbus_initiate_unload(), which unloads the VMBus connection only if the conn_state is CONNECTED. Consequently, the connection remains and the Hyper-V host might continue to send messages or post VMBus interrupts. The problem was introduced in commit 74347a99e73ae ("x86/Hyper-V: Unload vmbus channel in hv panic callback"), in that vmbus_initiate_unload() started checking the current connection state before doing the unload. This commit removed some occurrences where conn_state was forced to DISCONNECTED, but these two remained, apparently due to an oversight at the time. Fix this by not forcing conn_state to DISCONNECTED during VMBus exit, or if a failure occurs when establishing the connection in the first place. Whatever value conn_state has at the time is then read by vmbus_initiate_unload() to determine if there is a connection to be unloaded.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Install a Linux kernel with the fix, which is fixed in 4.20, 5.5, 5.7, 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13 and 7.3. Red Hat has no fix planned for RHEL 6 and no fix available yet for RHEL 7, 8, 9 and 10 or OpenShift Container Platform 4 and 5.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
- Fix · CNA Linux (Linux) Fixed in 4.20, 5.5, 5.7
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-28 Threatist record created from CVE-2026-99216
- 2026-10-28 Alias added: GHSA-rfjw-g695-7wxh
- 2026-10-29 Affected versions changed · Red Hat
- 2026-10-29 CVSS score added · Red Hat
- 2026-10-30 Fix available: Linux/Linux@2732210132f92aca0622b5134027990a809279d5, Linux/Linux@2939215d57bc8e4189290544fca78f3809ac3ef8, Linux/Linux@2e5ffbf1e41abbf6e02ce28115107938f55ff646 +7 · CNA
- 2026-10-30 5 new references · CNA
- 2026-10-31 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/2939215d57bc8e4189290544fca78f3809ac3ef8
- https://git.kernel.org/stable/c/a0ae955ba9a5067a157ebb8defb4a0a9cb1fc304
- https://git.kernel.org/stable/c/deef3ab5129ae4c45662c957cdab3739eb047fb1
- https://git.kernel.org/stable/c/2e5ffbf1e41abbf6e02ce28115107938f55ff646
- https://git.kernel.org/stable/c/2732210132f92aca0622b5134027990a809279d5
- https://git.kernel.org/stable/c/f47ce27af80b87cc684d5c12b65506af498ac7e5
- https://git.kernel.org/stable/c/3195546a377c2d8d176d837e8baad5ce15d11195
- https://git.kernel.org/stable/c/ec31dc39e835ccde0930daccece8c492d28282fc
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99216 · CVE Program
- CVE-2026-99216 · NVD
- FIRST EPSS
- GHSA-rfjw-g695-7wxh · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99216 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences