CVE-2026-33711 Incus vulnerable to local privilege escalation through VM screenshot path
Local attackers can exploit predictable temporary file paths in Incus VM screenshots to modify arbitrary files, potentially escalating privileges or causing denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-33711?
CVE-2026-33711 is a medium-severity path traversal vulnerability in lxc incus, published on 26 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a "Permission denied" error when requesting a screenshot. That's because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it's then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue.
Weakness: CWE-61
Which versions are affected by CVE-2026-33711?
4 open source packages ship an affected version, including github.com/lxc/incus/v6 and github.com/lxc/incus. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/lxc/incus/v6 Go | All versions | 6.23.0 |
github.com/lxc/incus/v6 Go | All versions | 6.23.0 |
github.com/lxc/incus/v6 Go | All versions | 6.23.0 |
github.com/lxc/incus Go | All versions | None |
Products include Linuxcontainers Incus.
How do I fix CVE-2026-33711?
Upgrade github.com/lxc/incus/v6 to 6.23.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-33711 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-33711 exists.
Other vulnerabilities in lxc incus
- CVE-2026-33897 Incus vulnerable to arbitrary file read and write through pongo templates
- CVE-2026-33945 Abitrary file write through systemd-creds option
- CVE-2026-33898 Local Incus UI web server vulnerable to nuthentication bypass
- CVE-2026-23953 Incus container environment configuration newline injection
- CVE-2026-23954 Incus container image templating arbitrary host file read and write
Sources
Also known as DEBIAN-CVE-2026-33711, GHSA-q9vp-3wcg-8p4x, GO-2026-4885, UBUNTU-CVE-2026-33711.