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
 

Subject: PSA-2026-00088-1: Shell command injection via volume name​


Advisory date: 2026-11-10

Packages: libpve-storage-perl, libpve-guest-common-perl, qemu-server

Details:

Missing validation and escaping of the requested volume name when allocating a volume on a ZFS-over-iSCSI storage allowed an attacker with Datastore.AllocateSpace privileges on such a storage to inject arbitrary arguments into a command executed as root on the iSCSI target host.

Missing validation and escaping of the volume name on directory-based storages allowed an attacker with Datastore.AllocateSpace and VM.Migrate privileges to inject arbitrary commands into a command invocation on the migration target host.

These issues were found internally.

Fixed in:
- libpve-guest-common-perl >= 6.0.7
- libpve-storage-perl >= 9.1.15
- qemu-server >= 9.2.15
 

Subject: PSA-2026-00089-1: Several issues in libpve-http-server-perl​


Advisory date: 2026-11-10

Packages: libpve-http-server-perl

Details:

Several issues were found and fixed in the Perl HTTP server used by Proxmox VE and Proxmox Mail Gateway.

The access log handling was improved to avoid interleaved writes to the log file and injection of unescaped special values in log lines.

The request handling was improved to reject duplicate Content-Length, Host or Cookie HTTP header values, to avoid mapping underscores to hyphens in HTTP header names and to reject requests with extremely long query strings.

The duplicate header value issue was reported privately by Apo - CSB Raccoon Labs <csb-raccoon@protonmail.com>, the rest was found internally.

Fixed in:
- libpve-http-server-perl >= 6.0.6
 

Subject: PSA-2026-00092-1: Missing and incomplete ACL checks in the SDN API​


Advisory date: 2026-11-10

Packages: libpve-network-api-perl

Details:

Several permission checks in the SDN API were incomplete, wrong or missing:

IPAM: the zone parameter was used for ACL checks, instead of the parent VNet zone.

Subnets: the vnet parameter was not checked against the subnet's parent VNet.

VNets: the target zone's ACLs were not checked when moving a VNet from one zone to another.

The permission checks when querying the running or pending SDN configuration were done using the current configuration, which might contain different entities with different ACLs.

The existence of zones, VNets and subnets was revealed via error messages, even if the querying user does not have access to them.

It was not, but is now required to have the SDN.Use or SDN.Allocate privilege on DNS and IPAM plugins, controllers, fabrics, route maps and prefix lists for referencing them in zones, controllers, fabrics and route maps. Users who manage zones may need this privilege added, for example on '/sdn/ipams/pve' for the default IPAM.

Some of these issues were privately reported by Geoffrey McClinsey <geoffrey.mcclinsey@gmail.com>.

Fixed in:
- libpve-network-api-perl >= 1.6.8
 

Subject: PSA-2026-00093-1: FRR config injection issues​


Advisory date: 2026-11-10

Packages: libpve-network-perl, libpve-network-api-perl

Details:

An inconsistency between the Perl and Rust implementations handling property strings, and a lax API schema for the route maps config option, allowed an attacker with privileges to add route maps to inject arbitrary lines into the generated FRR configuration.

An incomplete schema for the isis-domain option for the Isis controller allowed an attacker with privileges to set it to use an invalid value, resulting in an invalid FRR config and problems applying the SDN configuration.

These issues were reported privately by Apo - CSB Raccoon <csb-raccoon@protonmail.com>.

Fixed in:
- libpve-network-perl >= 1.6.8, libpve-network-api-perl >= 1.6.8
- libpve-rs-perl >= 0.15.4
 

Subject: PSA-2026-00094-1: OCI extraction path escape​


Advisory date: 2026-11-10

Packages: pve-container, librust-proxmox-oci-dev/libpve-rs-perl

Details:

Missing checks when applying whiteouts during OCI template extraction allowed an attacker to use malformed images to delete arbitrary files and directories outside of the target rootfs.

This issue was reported privately by Project Loupe, and later also reported by Apo - CSB Raccoon Labs <csb-raccoon@protonmail.com>.

Fixed in:
- librust-proxmox-oci-dev >= 0.2.2
- libpve-rs-perl >= 0.15.4
 

Subject: PSA-2026-00095-1: Broken privilege checks when modifying container NICs​


Advisory date: 2026-11-10

Packages: pve-container

Details:

A bug in the privilege checking code for bridge/VNet access when updating a container's virtual NIC allowed an authenticated attacker that can reconfigure NICs to configure a bridge/VNet that would otherwise be inaccessible.

This issue was reported privately by Yuliang Xiao.

Fixed in:
- pve-container >= 6.1.17
 
Status
Not open for further replies.