Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-51082

CVE-2026-51082: Proxmox VE Race Condition Vulnerability

CVE-2026-51082 is a race condition vulnerability in Proxmox Virtual Environment that enables VNC session hijacking across different VMs. This article covers the technical details, affected versions, and mitigation steps.

Published:

CVE-2026-51082 Overview

CVE-2026-51082 is a race condition vulnerability in Proxmox Virtual Environment (PVE) affecting the interaction between the vncproxy and vncwebsocket API calls. An authenticated attacker with privileges to invoke vncproxy can hijack a VNC session that another user establishes in parallel for a different virtual machine. The flaw is tracked under CWE-362 (Concurrent Execution using Shared Resource with Improper Synchronization). It affects pve-manager, qemu-server, and pve-container packages across PVE 8.x and 9.x branches. Successful exploitation grants full interactive console access to the victim's VM, exposing credentials, sensitive data, and administrative operations.

Critical Impact

An attacker with vncproxy privileges can hijack a concurrent VNC session belonging to another user, gaining unauthorized console access to a different virtual machine.

Affected Products

  • Proxmox VE 9.x pve-manager before 9.1.9 and 8.x pve-manager before 8.4.19
  • qemu-server 9.x before 9.1.7 and 8.x before 8.4.7
  • pve-container before 6.1.3 (PVE 9.x) and before 5.3.4 (PVE 8.x)

Discovery Timeline

  • 2026-07-17 - CVE-2026-51082 published to NVD
  • 2026-07-17 - Last updated in NVD database

Technical Details for CVE-2026-51082

Vulnerability Analysis

Proxmox VE exposes a VNC console workflow through two sequential API endpoints. Clients first call vncproxy to allocate a proxied VNC connection for a specific VM. Clients then call vncwebsocket to upgrade the connection to a WebSocket transport for the browser-based console.

The vulnerability arises because the correlation between these two calls is not enforced atomically. When two administrators initiate VNC sessions concurrently against different VMs, the state that binds a vncwebsocket request to its originating vncproxy allocation can be interleaved. An attacker who times a vncproxy request precisely against a legitimate session can be routed to the victim's VM console instead of their own.

The attacker must already hold vncproxy privileges, which typically requires an operator or administrator role on at least one VM. The impact extends beyond that scope, since the hijacked session can target any VM whose owner is establishing a parallel console session.

Root Cause

The root cause is a Time-of-Check to Time-of-Use (TOCTOU) style race between session allocation in vncproxy and session validation in vncwebsocket. Ticket or port state used to associate a WebSocket upgrade with a specific VM is not locked or bound uniquely per user and VM during the window between the two API calls.

Attack Vector

Exploitation requires network access to the Proxmox API and valid credentials with vncproxy permissions. The attacker repeatedly triggers vncproxy and vncwebsocket calls, racing against legitimate console launches performed by other users. When the race resolves in the attacker's favor, the WebSocket upgrade returns a live connection to the victim's VM.

No verified public proof-of-concept exploit is available. See the Proxmox Security Advisory for vendor-supplied technical detail.

Detection Methods for CVE-2026-51082

Indicators of Compromise

  • Unexpected VNC console access events in the Proxmox task log referencing VMs the initiating user does not typically manage.
  • Multiple rapid vncproxy API invocations from the same authenticated user targeting distinct VMIDs within short time windows.
  • Mismatch between the user recorded in vncproxy task entries and the user associated with the corresponding vncwebsocket upgrade.

Detection Strategies

  • Parse /var/log/pveproxy/access.log for concurrent POST /api2/json/nodes/*/qemu/*/vncproxy and GET /api2/json/nodes/*/qemu/*/vncwebsocket requests originating from different session tokens within the same millisecond window.
  • Correlate PVE cluster task logs (pvesh get /cluster/tasks) to identify VNC session pairs that terminate on VMs unrelated to the requesting user's role assignments.
  • Alert when a single authenticated identity issues repeated vncproxy calls across many VMIDs in rapid succession, which is characteristic of race-window brute forcing.

Monitoring Recommendations

  • Forward Proxmox API access logs and task history to a central log platform for long-window correlation across cluster nodes.
  • Baseline normal VNC console usage per operator, then alert on deviations in VMID target count and request cadence.
  • Monitor authentication events for accounts with VM.Console or equivalent permissions and review privilege assignments regularly.

How to Mitigate CVE-2026-51082

Immediate Actions Required

  • Upgrade pve-manager to 9.1.9 (PVE 9.x) or 8.4.19 (PVE 8.x) on every cluster node.
  • Upgrade qemu-server to 9.1.7 (PVE 9.x) or 8.4.7 (PVE 8.x) and pve-container to 6.1.3 (PVE 9.x) or 5.3.4 (PVE 8.x).
  • Audit user and API token privileges, removing VM.Console and vncproxy-granting roles from accounts that do not require console access.
  • Rotate PVE authentication tickets and API tokens for accounts holding VNC privileges after patching.

Patch Information

Proxmox has released fixed packages through the standard enterprise and no-subscription repositories. Refer to the Proxmox Security Advisory for the coordinated fix details. Apply updates using apt update && apt full-upgrade on each node and restart the pveproxy and pvedaemon services if the upgrade does not do so automatically.

Workarounds

  • Restrict access to the Proxmox web UI and API to trusted management networks using firewall rules until patching completes.
  • Temporarily revoke VM.Console privileges from non-administrative users to reduce the pool of accounts capable of triggering the race.
  • Serialize console usage administratively by coordinating VNC sessions among operators to avoid concurrent vncproxy calls until updates are deployed.
bash
# Configuration example: patch a Proxmox VE node
apt update
apt install --only-upgrade pve-manager qemu-server pve-container
systemctl restart pveproxy pvedaemon
pveversion -v | grep -E 'pve-manager|qemu-server|pve-container'

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.