
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33711 is a local privilege escalation vulnerability in Incus, a system container and virtual machine manager, affecting all versions prior to 6.23.0. The flaw exists in the VM screenshot API, which writes temporary files to predictable paths under /tmp (e.g., /tmp/incus_screenshot_<instance_id>), enabling a local attacker to pre-place symlinks that redirect file truncation and ownership changes to arbitrary host files. It was discovered by the team at 7asecurity, disclosed on March 26, 2026, and fixed in version 6.23.0. The vulnerability carries a CVSS v3.1 base score of 7.8 (High) and a CVSS v4.0 base score of 4.7 (Medium) (GitHub Advisory, Red Hat Bugzilla).
The root cause is improper symlink resolution before file access (CWE-61 / CWE-59): the incusd daemon constructs a temporary screenshot file path using a deterministic format (/tmp/incus_screenshot_%d based on instance ID) in the world-writable /tmp directory, without using secure temporary file creation primitives. When a VGA screenshot is requested, the daemon calls os.Create() on this predictable path, applies Chmod(0o600), then calls Chown() to transfer ownership to the unprivileged VM UID before invoking the QEMU Machine Protocol Screendump command with the same mutable pathname. If an attacker pre-places a symlink at that path pointing to an arbitrary host file, the daemon will truncate and reassign ownership of that target file instead. Exploitation requires that the Linux kernel's protected_symlinks feature (/proc/sys/fs/protected_symlinks) be set to 0, which is non-default but possible on hardened or custom-configured systems (GitHub Advisory).
A successful exploit allows a low-privileged local attacker to truncate arbitrary root-owned files and reassign their ownership to the unprivileged VM UID (incus), resulting in high integrity and availability impact. Practical consequences include destruction of sensitive credentials or configuration files, corruption of startup or service files enabling persistence, and further local privilege escalation on the host. Confidentiality impact is limited, as the attack does not directly expose file contents, but the ability to alter ownership of security-relevant paths can facilitate follow-on attacks (GitHub Advisory, Red Hat Bugzilla).
A detailed proof-of-concept (PoC) with step-by-step commands is publicly available in the official security advisory, demonstrating how to truncate and change ownership of arbitrary files on a vulnerable system (GitHub Advisory). The CVSS v4.0 exploit maturity is rated PROOF_OF_CONCEPT. There is no evidence of in-the-wild exploitation at this time, and the vulnerability is not listed in the CISA KEV catalog. The EPSS score is approximately 0.013% (0th percentile), reflecting low near-term exploitation probability. Exploitation requires local access, low privileges, and the non-default kernel configuration of protected_symlinks=0.
cat /proc/sys/fs/protected_symlinks must return 0. If not already disabled (requires root), set it with echo 0 > /proc/sys/fs/protected_symlinks.incus info <vm-name> or inspecting Incus database), as the predictable path is /tmp/incus_screenshot_<ID>./root/shadow_trap, /etc/shadow, or a service configuration file).for i in $(seq 1 100); do ln -sf /root/shadow_trap /tmp/incus_screenshot_$i; doneincusd to open the predictable path, apply Chmod and Chown, and invoke QEMU's screendump:incus query -X GET "/1.0/instances/lpe-vm/console?project=default&type=vga" > /dev/nullls -l /root/shadow_trap && stat /root/shadow_trapExpected result: file size is 0, owner is incus (UID 100000) (GitHub Advisory)./tmp/incus_screenshot_* pointing to files outside /tmp, especially to sensitive paths like /etc/shadow, /root/, or service configuration files; root-owned files with unexpected zero size and ownership changed to the incus user (UID 100000).incusd) showing screenshot API requests (/1.0/instances/<name>/console?type=vga) followed by errors such as Failed taking screenshot: Failed to connect to QEMU monitor, which may indicate a symlink was followed but QEMU could not write to the redirected path.chown or chmod operations on files outside /tmp originating from the incusd process, observable via auditd or inotifywait monitoring on sensitive directories./1.0/instances/*/console) with type=vga from low-privileged users or automated scripts (GitHub Advisory).Upgrade Incus to version 6.23.0 or later, which fixes the issue by creating temporary screenshot files securely in a daemon-controlled directory rather than using predictable /tmp paths (GitHub Advisory). As a workaround on systems that cannot immediately upgrade, ensure the Linux kernel's protected_symlinks feature is enabled (the default on most distributions): verify with cat /proc/sys/fs/protected_symlinks — a value of 1 blocks this attack. To make this persistent, add fs.protected_symlinks = 1 to /etc/sysctl.conf and apply with sysctl -p. Restricting local user access to the Incus API (e.g., limiting who can invoke incus query or access the Incus socket) also reduces exposure.
The vulnerability was discovered and reported by the security research team at 7asecurity and was remediated by Incus maintainer stgraber in version 6.23.0 (GitHub Advisory). Red Hat tracked the issue as a high-severity bug in their Bugzilla system (Red Hat Bugzilla). openSUSE issued a security announcement covering the update, and Fedora also released updated packages addressing this CVE. No significant broader media coverage or notable social media discussion has been observed beyond standard vulnerability tracking channels.
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."