☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N 🐛 CWE-22
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-16033

CVE-2026-16033 Path Traversal in Canonical
📅 PUBLISHED: 2026-08-12 00:00 UTC 🔄 UPDATED: 2026-10-02 19:26 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.35%
👁️
0.35% probability
8.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1210
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Affected: Lxd — upgrade to patched release
CVSS VECTOR BREAKDOWN 8.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: L Integrity Low
A: N Availability None
8.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-16033 is a critical path traversal vulnerability (CVSS 8.5) in LXD, the system container and virtual machine manager maintained by Canonical. The flaw resides in the image metadata template processing engine, specifically affecting the QEMU virtual machine execution path, and permits an authenticated low-privilege attacker to achieve arbitrary host file reads and unconstrained file creation on the LXD host system. Any organization running LXD as a container or VM management platform—particularly multi-tenant environments where untrusted users are permitted to import images—is at risk. The vulnerability is currently unpatched, with no vendor fix, workaround, or CISA KEV listing available; exploitation is plausible through crafted image archives delivered to the LXD daemon.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability is rooted in a path traversal flaw (CWE-22) within LXD's image template processing subsystem. LXD supports image definitions that include templates — files that are processed on the host when an instance is created from the image. These templates may reference other files or generate configuration content for the new instance. During this processing, a template directive embedded within an image archive can include traversal sequences (e.g., ../ or absolute paths) in the destination file path.

The NVD description indicates that LXD fails to sanitize or restrict template file paths from escaping the instance templates directory, specifically in the virtual machine and QEMU driver execution paths. When a user imports an image archive, the archive typically contains an metadata.yaml file (or similar), which can declare template files. A malicious archive can reference a template that writes to—or reads from—arbitrary locations on the host filesystem, outside the intended per-instance template directory.

Attack surface: The vulnerability is reachable over the network through LXD's REST API (default TCP port 8443 for the daemon). The CVSS vector reflects this: AV:N (network), AC:L (low attack complexity), PR:L (low privilege required), and C: H (high confidentiality impact) because of the host file read capability. The attack requires the attacker to have valid credentials to an LXD project where image imports are permitted, or the ability to trick an authorized image publisher into importing a malicious archive (e.g., through a supply-chain attack on a private image repository).

Notably, the impact is asymmetric: Confidentiality is rated High (arbitrary host file read), while Integrity is rated Low (file creation without guaranteed content-level control). There is no availability impact listed, implying the file writes do not directly crash the host or deny service — although writing to sensitive host paths (e.g., /etc/cron.d/, ~/.ssh/authorized_keys) could enable persistent remote access, effectively escalating to code execution over time.

The vulnerability is distinct from typical container escape CVEs in that it does not require an existing container to be compromised. Instead, the attack is a form of malicious image import — the attacker supplies the entire image, which is a legitimate function of LXD in multi-tenant or CI/CD contexts. The flaw is in the host-side processing of untrusted template metadata, not in the virtualization runtime itself.

Exploitation Scenarios

No public PoC is available; the attack chain below is inferred from the vulnerability class and NVD description.

  1. Reconnaissance and Target Identification: An attacker identifies an LXD server exposed on TCP 8443, or an internal LXD deployment accessible through a compromised workstation. Short host enumeration may reveal the LXD daemon version and whether image import privileges are granted to low-privileged users or groups (e.g., members of the lxd Unix group, or a project with image import enabled).

  2. Triggering the Flaw: The attacker creates a malicious image archive that contains a valid instance image root filesystem (to pass basic validation) alongside a crafted metadata file. Within the metadata, the attacker defines a template with a file path containing traversal sequences or an absolute path that escapes the instance templates/ directory. Since the template path is not sanitized, LXD will resolve it relative to the host filesystem root when the template is processed.

  3. Payload and Execution: The attacker imports the image via the LXD API (lxc image import command or equivalent REST call). When importing or when creating an instance from the imported image, LXD's template processor parses the malicious directives. For file reads, the template can be instructed to read an arbitrary host file (e.g., /etc/shadow, /root/.ssh/id_rsa, or cloud-init credentials) and embed its content into the instance configuration or a log. For file writes, the template can write attacker-controlled content to an arbitrary host path.

  4. Post-Exploitation: With arbitrary host file read, the attacker exfiltrates SSH keys, service account credentials, or secrets stored in /etc/ or application config files. With file creation (low integrity impact), the attacker can write a cron job into /etc/cron.d/, drop an SSH public key into /root/.ssh/, or plant a persistent web shell — each yielding host-level code execution or persistent access on the LXD host.

Role of privilege: PR:L in the CVSS indicates the attacker needs some level of authenticated access to the LXD API. A user merely holding the default lxd group membership (granted by default in some Ubuntu installs) may be sufficient to import images, making this a practical escalation path from any non-admin user on a host that has LXD installed.

Impact Assessment

  • Business Impact: Critical for environments where LXD is deployed as a shared infrastructure platform. An attacker who can import an image can read sensitive host files (secrets, keys) and write arbitrary files, potentially leading to full host compromise. The confidentiality impact is High per CVSS, reflecting host-level data exposure.
  • Affected Systems: All LXD deployments that allow any form of trusted or untrusted image import. Multi-tenant LXD setups, CI/CD pipelines using LXD, and bare-metal servers that run LXD for VM orchestration are the primary blast radius. Single-user LXD installations are also exposed if the daemon socket is network-reachable.
  • Blast Radius: The CVSS string shows S:C (Changed scope — the vulnerable component belongs to a different security authority than the impacted component). This confirms the impact crosses trust boundaries: exploitation of the LXD daemon yields access to the host OS, not the container/VM environment. The confidentiality subscore is High (C:H), integrity is Low (I:L), and there is no availability impact (A:N).
  • CISA KEV Status: Not listed in KEV — meaning no confirmed in-the-wild exploitation has been reported as of this analysis. However, given the unpatched status, this may change rapidly.
  • EPSS: Not yet scored by FIRST.org. Please monitor FIRST for an EPSS estimate when released.

Data Sensitivity: The file-read primitive targets the host filesystem, making acquisition of cryptographic material (T0002 — Private Keys), credentials (T1589), and configuration secrets (T1003) possible. The file-write primitive enables persistence mechanisms (T1136, T1543) on the host.

Detection Guidance

The lack of a public PoC makes signature-based detection speculative but still prudent. The following rules are designed to detect (a) suspicious image archive payloads, (b) network-side attempts to import malicious images, and (c) host-side file activity associated with template escapes.

Sigma Rule

title: Suspicious LXD Image Import via API
id: 4f1a2b3c-8d4e-4f5a-9b6c-7d8e9f0a1b2c
status: experimental
description: Detects LXD API requests importing images with potential path traversal indicators
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-16033
author: Valtersit Threat Intelligence
date: 2026/01/14
logsource:
    category: application
    product: lxd
    definition: 'Requires LXD audit logging enabled'
detection:
    selection_import:
        event.action: 'image.import'
    selection_payload:
        - title.request.body|contains: '..'
        - title.request.body|contains: 'templates/../../'
        - title.request.body|contains: '/etc/'
    condition: selection_import and selection_payload
level: high
falsepositives:
    - Legitimate images using absolute paths in templates
tags:
    - attack.t1210
    - cve.2026-16033

YARA Rule

rule LXD_PathTraversal_ImageMetadata
{
    meta:
        author = "Valtersit Threat Intelligence"
        date = "2026-01-14"
        description = "Detects malicious LXD image metadata containing path traversal sequences"
        cve = "CVE-2026-16033"
        score = 85
    strings:
        $traversal1 = "../" ascii
        $traversal2 = "..\\" ascii
        $traversal3 = "../../" ascii
        $abs_path = "/etc/" ascii
        $template_key = "templates:" ascii
        $template_ref = "template:" ascii
    condition:
        uint32(0) == 0x444E5354 and // 'T' 'S' 'N' 'D' obfuscation attempt or plain text — adjust per container format
        (
            ($template_key or $template_ref) and
            ($traversal1 or $traversal2 or $traversal3 or $abs_path)
        )
}

Suricata IDS Rule

alert http any any -> any 8443 \
    (msg:"CVE-2026-16033 - LXD Path Traversal in Image Metadata"; \
    flow:established,to_server; \
    content:"POST"; http_method; \
    content:"/1.0/images"; http_uri; \
    pcre:"/(\.\.\/|\.\.\\|templates\/\.\.\/)/i"; \
    classtype:attempted-admin; \
    sid:202616033; rev:1; \
    reference:cve,2026-16033;)

Elastic Detection

sequence with maxspan=5m
  [ network where
      process.name == "lxd" and destination.port == 8443 and
      network.direction == "ingress" ]
  [ file where
      process.name == "lxd" and
      file.path : (
        "*templates/../../*",
        "*templates/../*",
        "/etc/*",
        "/root/*"
      ) and
      file.operation in ("create", "write", "read") ]

Splunk SPL Query

index=linux_syslog OR index=infosec
  (process_name="lxd" OR source="/var/log/lxd/*")
  AND (
    (event_code=image_import AND message="*../*") OR
    (file_path="/etc/*" AND process_name="lxd") OR
    (file_path="/root/*" AND process_name="lxd")
  )
| stats count by host, process_name, file_path
| where count > 0

Wazuh OSSEC Rule

<group name="syslog,">
  <rule id="160333" level="12">
    <decoded>LXD</decoded>
    <match>image.import</match>
    <regex>templates/\.\.|\.\./\.\.</regex>
    <description>CVE-2026-16033: Path traversal attempt in LXD image metadata import.</description>
    <mitre>
      <id>T1210</id>
    </mitre>
    <group>lxd,attack.exploitation,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: UNPATCHED (patch confidence 0/4). As of this report, no vendor security advisory, patched version, or hotfix has been published for CVE-2026-16033. No workarounds are available from Canonical.

Immediate Mitigations (while awaiting a patch):

  1. Restrict image import privileges: Only grant image import rights to trusted, admin-level users. Audit all existing LXD project configurations and remove image_import permissions from low-privileged groups (e.g., the default lxd group members) if not strictly required.
  2. Network exposure control: Never expose the LXD API (TCP 8443) to untrusted networks. Place it behind a firewall or authentication proxy. Use lxc config set core.https_address to bind to localhost only when remote management is not needed.
  3. Enable and monitor audit logging: Turn on LXD's built-in audit log and ship it to a SIEM to detect anomalous image imports or template activity.
  4. Enforce image policy: Implement a process where all images must come from a canonical, internally vetted repository. Disable community or global image remotes if not in use.
  5. Seccomp/apparmor hardening (if available for the container runtime): Ensure any container-escape protections are in place for the host processes processing image templates. Note this may not block file reads of paths excluded from the profile.

Patch/Upgrade Steps When Available:

  1. Monitor Canonical's security notice feed and LXD's GitHub releases for a fix.
  2. When a patched LXD version is released, upgrade immediately. For Ubuntu systems, apply via apt update && apt upgrade lxd or via snap: snap refresh lxd.
  3. Pre-test the upgrade in a staging environment, as LXD upgrades can affect live containers.

Long-Term Hardening:

  1. Adopt least-privilege principles: Consider removing membership in the lxd Unix group from non-admin users entirely. Grant API access via dedicated service accounts with scoped projects.
  2. Implement image signing: Configure LXD to require signatures on all imported images, and use Candid or other external authentication to enforce authorization.
  3. Regular vulnerability scanning: Subscribe to LXD release notes and subscribe to the Ubuntu security notifications list.
  4. Incident response preparation: Ensure a runbook exists for a potential LXD host compromise — including steps to evict all instances, rotate all host keys, and investigate file integrity.

References

  1. NVD — CVE-2026-16033: https://nvd.nist.gov/vuln/detail/CVE-2026-16033
  2. Canonical LXD Security Advisories (monitor for pending advisory): https://linuxcontainers.org/lxd/docs/latest/security
  3. Canonical CVE Tracker (search CVE-2026-16033): https://ubuntu.com/security/cve
  4. MITRE ATT&CK Technique T1210: https://attack.mitre.org/techniques/T1210/
  5. CISA Known Exploited Vulnerabilities Catalog (currently no listing for this CVE): https://www.cisa.gov/known-exploited-vulnerabilities-catalog

Threat Actor Campaigns: No known in-the-wild exploitation has been publicly documented as of this report. The PoC status is None, and no Nuclei template or exploit code has been identified. However, given the CVSS 8.5 score and unpatched status, the vulnerability is a high-priority target for researchers and threat actors alike. Monitor threat intelligence feeds for exploitation attempts after public disclosure or PoC release.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:LXD
product:lxd os:"Ubuntu"
"LXD" port:8443

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-16033/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.