Proxmox Virtual Environment - Security Advisories

Status
Not open for further replies.

Subject: PSA-2026-00072-1: Missing buffer limits when processing Qemu guest agent responses​


Advisory date: 2026-10-19

Packages: qemu-server

Details:

An attacker with access to a VM with configured guest agent can consume excessive memory usage on the host side during QGA response processing.

This issue was reported privately by Project Loupe.

Fixed in:
- qemu-server >= 9.2.11
 

Subject: PSA-2026-00073-1: pvedaemon denial-of-service via QEMU guest agent file-read command​


Advisory date: 2026-10-19

Packages: qemu-server

Details:

Insufficient hardening of the QEMU guest agent file-read handling allowed a malicious guest agent implementation in a VM to cause pvedaemon to allocate additional memory until it triggers an out-of-memory kill action by the kernel.

This issue was privately reported by Martin Vlach <mr.huge@seznam.cz> / <dev@ehlas.cz>.

Fixed in:
- qemu-server >= 9.2.11
 

Subject: PSA-2026-00074-1: QEMU HMP: incomplete permissions checks for gpa2hpa/gpa2hva/i commands​


Advisory date: 2026-10-19

Packages: qemu-server

Details:

The gpa2hpa/gpa2hva/i of QEMU's HMP interface were only requiring Sys.Modify privileges, instead of being restricted to root. These commands potentially allow leaking information about the memory layout of the QEMU process, or read memory from I/O ports, which might have security implications.

This issue was privately reported by Martin Vlach <mr.huge@seznam.cz> / <dev@ehlas.cz>.

Fixed in:
- qemu-server >= 9.2.11
 

Subject: PSA-2026-00075-1: Missing validation of xterm.js URL parameters​


Advisory date: 2026-10-30

Packages: pve-xtermjs

Details:

Missing validation of URL parameters in the xterm.js console page allows an attacker to trigger almost arbitrary POST requests as another user, if they can trick them into opening a malicious crafted link.

This issue was found internally.

Fixed in:
- pve-xtermjs >= 6.0.0-3
 

Subject: PSA-2026-00076-1: Missing enforcement of pool ACL when querying pool information​


Advisory date: 2026-10-30

Packages: pve-manager

Details:

It was possible to query information about a specific pool without the required Pool.Audit privilege.

This issue was found internally.

Fixed in:
- pve-manager >= 9.2.23
 

Subject: PSA-2026-00077-1: Missing validation of network configuration fields​


Advisory date: 2026-10-30

Packages: libpve-common-perl, pve-manager

Details:

Some fields/options in the network configuration /etc/network/interfaces which are exposed over the network configuration API were lacking validation, allowing the injection of arbitrary lines in the generated configuration file.

Since some network configuration options allow executing arbitrary commands as root during boot or network settings reload tasks, this effectively is a root privilege escalation which can be triggered by users/tokens with Sys.Modify privileges on /nodes/{node}.

This issue was found internally.

Fixed in:
- pve-manager >= 9.2.23
 

Subject: PSA-2026-00078-1: XSS in consent-text datacenter option​


Advisory date: 2026-10-30

Packages: pve-manager, libpve-cluster-perl

Details:

An incomplete definition of the consent-text field in the datacenter configuration schema allowed a highly privileged attacker to inject arbitrary content into the web UI index template.

This issue was reported privately by Alexander Wolf <alexander.wolf@8mylez.com>.

Fixed in:
- pve-manager >= 9.2.24
 

Subject: PSA-2026-00079-1: Missing shell quoting for ceph install command options​


Advisory date: 2026-10-30

Packages: pve-manager

Details:

Missing shell quoting for parameters passed to termproxy while handling xtermjs API requests allowed an attacker to execute arbitrary commands as root, if they managed to trick a user logged in as root@pam into opening a crafted URL containing such parameters.

This issue was found internally.

Fixed in:
- pve-manager >= 9.2.24
 

Subject: PSA-2026-00080-1: kernel TCP Use-After-Free (CVE-2026-98432)​


Advisory date: 2026-10-31

Packages: proxmox-kernel-*

Details:

A race in IPv4 TCP connection setup can cause a use-after-free. When a retransmitted SYN is handled on another CPU while the new connection's socket is being freed, the kernel may still read that socket's IP options to build a SYN-ACK. A similar race exists with request socket migration (net.ipv4.tcp_migrate_req=1 or a BPF reuseport migrate program). Only SYNs carrying IPv4 options, or CIPSO/NetLabel setups, hit the affected code. The fix frees the options only after an RCU grace period. Native IPv6 is not affected.

Fixed in: proxmox-kernel-7.0.14-25-pve(-signed)

References: CVE-2026-98432
 

Subject: PSA-2026-00081-1: User impersonation via inconsistent ticket encoding​


Advisory date: 2026-11-02

Packages: libpve-common-perl

Details:

Incosistent handling of encoding/decoding usernames in authentication tickets allows an attacker to impersonate other users in the same realm. This attack requires sufficient privileges to create users in a realm, or access to an OIDC/LDAP/AD source of user identifiers that does not restricted usernames to forbid certain characters.

This issue was discovered internally, and later also reported by Apo - CSB Raccoon <csb-raccoon@protonmail.com>.

Fixed in:

- libpve-common-perl >= 9.2.5
 

Subject: PSA-2026-00082-1: TOCTOU issue when mounting (running) containers on the host​


Advisory date: 2026-11-02

Packages: pve-container

Details:

The pct mount and pct fstrim tasks lacked protection against concurrent modifications to the container mountpoint hierarchy by a running container. An attacker with access to a running container could win the race against the incomplete checks, resulting in mounting of attacker-controlled directories over arbitrary host paths, which could be chained into root-level code execution on the host.

This issue was found internally.

Fixed in:
- pve-container >= 6.1.15
 

Subject: PSA-2026-00083-1: Various hardening and robustness improvements for pmxcfs​


Advisory date: 2026-11-03

Packages: pve-cluster

Details:

Several issues which could potentially be triggered by unprivileged users were fixed in pmxcfs:

On clusters with a high amount of virtual guests, certain IPCC requests to the running pmxcfs instance could cause a crash/denial of service.

A misbehaving IPCC client could cause a crash/denial of service by not reading IPCC responses.

An empty sparse file that is stored on pmxcfs could cause a crash/denial of service when being read.

pmxcfs was vulnerable to path confusions with paths containing repeated / characters, which could cause a crash/denial of service or allow reading of root-only files by users in the www-data group.

Requests were parsed from memory still owned by the IPCC client, which allowed users in the www-data group to crash pmxcfs by modifying the contents of an in-flight request.

Length fields were not read and checked in all cases before processing the corresponding value fields.

API token values were not compared in constant time, potentially allowing timing attacks.

Some checks and error handling paths when parsing or handling malformed messages were incomplete and have been improved.

One overflow issue was found and privately reported by Geoffrey McClinsey <geoffrey.mcclinsey@gmail.com>. One invalid length check was reported in https://bugzilla.proxmox.com/show_bug.cgi?id=8100 . The rest of the issues were found and fixed internally.

Fixed in:
- pve-cluster >= 9.1.7
 

Subject: PSA-2026-00084-1: Guest overwrite due to incorrect application of pool ACLs​


Advisory date: 2026-11-03

Packages: qemu-server, pve-container

Details:

An attacker with VM.Allocate on a pool could overwrite arbitrary existing guests via the restore API.

This issue was found internally.

Fixed in:
- qemu-server >= 9.2.13
- pve-container >= 6.1.15
 

Subject: PSA-2026-00085-1: Incomplete privilege checks for outgoing remote migration​


Advisory date: 2026-11-03

Packages: qemu-server, pve-container

Details:

Outgoing remote migrations were previously allowed with just VM.Migrate on the source side. While a regular, intra-cluster migration does not, a remote migration effectively gives access to the guest's configuration, and potentially allows removing the guest on the source side. Corresponding additional privilege checks were added.

This issue was reported privately by Project Loupe, and additionally by Vítor Fonte <security@vfonte.net>.

Fixed in:
- qemu-server >= 9.2.13
- pve-container >= 6.1.15
 
Status
Not open for further replies.