Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain LXD client with instance-create rights
-
DeliveryCraft backup/migration header with ../ subvolume path
-
ExploitLXD resolves path outside storage as root
-
ExecutionDelete host files or write content on btrfs root
-
ImpactEscape project boundary to full host compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated LXD client (PR:L) that holds permission to create instances within a project - a legitimate but restricted tenant credential. Exploitation is triggered by supplying a subvolume path containing ../ sequences via one of two specific channels: the optimized_header.yaml of an optimized btrfs backup being imported, or the btrfs migration header from a malicious migration source. Arbitrary file deletion as root works on any affected host using the btrfs storage driver; the escalation to arbitrary content placement and full host compromise additionally requires that the host's root filesystem itself be btrfs. No end-user interaction is needed. Limiting factors: attacker must already possess project-scoped instance-create rights, the btrfs storage driver must be in use, and the write-to-arbitrary-path escalation is gated on a btrfs root filesystem. |
| Impact | This is a genuinely high-priority vulnerability, not a CVSS-inflated one. The vendor vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H, 9.6) is internally consistent with the description: network-reachable API, low complexity, and a scope change from the container/project boundary to the host itself. The single mitigating factor is PR:L - the attacker must already hold a legitimate LXD client credential with permission to create instances in a project, which is the intended trust boundary LXD exists to enforce, so the flaw is a privilege-boundary escape rather than a pre-auth breach. No EPSS score, KEV listing, or public POC was provided, so real-world exploitation is unproven; per precision rules this is 'no public exploit identified at time of analysis.' The absence of EPSS/KEV signals should not downgrade urgency here because the technical impact (arbitrary file deletion as root, and full host compromise when the host root filesystem is btrfs) is severe and the trigger is straightforward path traversal via ../ sequences in a backup/migration header. Note C:N is defensible - the primary impact is integrity (arbitrary write/delete) and availability, not disclosure. Priority is driven by impact and low attack complexity despite the lack of exploitation telemetry. |
| Exploit ScenarioDerived | An attacker holding a restricted LXD client credential (e.g., a tenant on a shared LXD host with rights to create instances in one project) imports a crafted optimized btrfs backup or acts as a malicious migration source, embedding ../ sequences in the subvolume path inside optimized_header.yaml or the btrfs migration header. LXD resolves the path outside the intended storage location and deletes arbitrary host files as root; if the host root filesystem is btrfs, the attacker instead plants attacker-controlled content at arbitrary host paths for full host takeover. No public exploit code is identified at time of analysis, and no user interaction is required beyond the attacker's own actions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Path traversal in the btrfs storage driver of Canonical LXD 4.0.2 and later allows an authenticated client that holds project-scoped permission to create instances to delete arbitrary files on the host as root by supplying a crafted subvolume path containing ../ sequences, and on hosts whose root filesystem is itself btrfs the same primitive escalates to placing attacker-controlled content at arbitrary host paths for full host compromise. The issue is rated CVSS v3.1 9.6 (AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H), reflecting a scope-changing breakout from a restricted tenant role into the host root context rather than a CVSS-inflated score, since a legitimate but limited project credential is the only prerequisite. No CISA KEV listing and no public exploit code were identified at time of analysis; vendor fixes are available in LXD 4.0.14, 5.0.10, 5.21.8 and 6.10.
RemediationAI
Vendor patches are available: upgrade to LXD 4.0.14 for the 4.0 LTS series, 5.0.10 for the 5.0 LTS series, 5.21.8 for the 5.21 series, or 6.10 for the 6.x series, and for snap installations refresh the lxd snap to the corresponding fixed channel; details are in the upstream advisory at https://github.com/canonical/lxd/security/advisories/GHSA-27q7-qwhm-c34p. Where immediate upgrade is not possible, reduce exposure by auditing and tightening which tenants hold instance-creation rights, since only an authenticated project-scoped client can trigger the bug (trade-off: this blocks legitimate multi-tenant delegation and self-service instance creation); refuse to import optimized btrfs backups or to run migrations from untrusted or third-party sources, as both the optimized_header.yaml and the migration header are attacker-controlled delivery vectors (trade-off: breaks backup restore and migration workflows from external remotes); and consider migrating the storage pool off the btrfs driver to dir or zfs, which eliminates the vulnerable subvolume-handling code path entirely but requires recreating or migrating existing instances and may change snapshot and quota behavior. Blocking the LXD API port or restricting it to trusted administrative networks is an additional compensating control, though it degrades remote management and is not a substitute for patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal) inside LXD's privileged daemon, which runs as root and manages storage pools on behalf of untrusted tenants. When the btrfs storage driver is in use, LXD treats pool contents as btrfs subvolumes and performs subvolume create/delete/snapshot/restore operations using paths derived from client-supplied metadata. Because btrfs subvolumes are separate filesystem trees addressable by path, a subvolume path that contains ../ sequences can escape the storage pool directory and be resolved relative to the host filesystem with root privileges. The traversal is delivered through two distinct channels: the optimized_header.yaml file inside an optimized btrfs backup that a client imports, or the btrfs migration header sent by a malicious migration source during an instance migration. The CPE cpe:2.3:a:canonical:lxd:*:*:*:*:*:*:*:* and the associated tags (Path Traversal, Canonical, Lxd) confirm that the affected component is the LXD server code base across all shipped series, with impact dependent on the storage driver (btrfs required) and on the host root filesystem type for the write-to-arbitrary-path escalation; the delete-as-root primitive applies on any btrfs-driver host.
Know when Lxd gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H
Authenticated project-scoped client (PR:L) sends a crafted header over the network (AV:N/AC:L) to escape the container/project boundary to the host (S:C), enabling arbitrary root file write/delete (I:H/A:H); no disclosure (C:N).
Primary rating from Vendor (canonical).
CVSS VectorVendor: canonical
Lifecycle Timeline
2DescriptionCVE.org
Path traversal in the btrfs storage driver in Canonical LXD versions 4.0.2 and later (fixed in 4.0.14, 5.0.10, 5.21.8 and 6.10) on Linux allows an authenticated client with permission to create instances in a project to delete arbitrary files on the host as root. On hosts whose root filesystem is btrfs, the client can also place attacker-controlled content at arbitrary host paths, leading to full host compromise. The client does this with a crafted subvolume path containing ../ sequences, sent in either of two ways: in the optimized_header.yaml of an optimized btrfs backup, or in the btrfs migration header sent by a malicious migration source.
Articles & Coverage 2
Technical POC Analysis
CWE-22/CWE-23 path traversal.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A path-traversal flaw in Canonical LXD's btrfs storage driver (CVE-2026-85185) lets any user with a routine project-scoped 'create instances' permission delete arbitrary host files as root, and on btrfs-rooted hosts overwrite files at will - effectively turning a limited tenant credential into full host compromise. This affects every organization running LXD 4.0.2 or later as a multi-tenant or shared container/VM platform, meaning internal teams or external customers with the lowest tier of project access can break out of their isolation boundary. Leadership should care because the prerequisite is a legitimate, easily granted permission rather than a sophisticated attack, and a single compromised tenant account can put the entire hypervisor host and every workload on it at risk.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Cross-site request forgery in the LXD-UI component of Canonical LXD 5.0 before 5.0.5, 5.1 before 5.21.4, and 6.0 before
Privilege escalation in Canonical LXD's operations API (LXD before 6.5 and LXD 5.21 before 5.21.4) allows an authenticat
Authenticated remote attackers with access to the Canonical LXD instance log retrieval or deletion endpoints can read ar
Server-side template injection in Canonical LXD's instance snapshot naming feature lets an authenticated user who can mo
Unauthenticated project enumeration in Canonical LXD 5.21.x before 5.21.4 and 6.x before 6.5 lets remote attackers deter
Unauthenticated remote attackers can confirm the existence of LXD projects on Canonical LXD by comparing HTTP status cod
Privilege escalation to host root in Canonical LXD occurs when the container manager unpacks crafted image or backup arc
Host root code execution in Canonical LXD arises from a path-traversal flaw in instance template processing, letting an
Arbitrary host file read and write in Canonical LXD occurs because the image import/unpack routine does not verify wheth
Canonical LXD's NVIDIA GPU passthrough configuration handler fails to sanitize newline characters in user-supplied `nvid
Path traversal in Canonical's LXD container and VM manager allows a user with backup import/restore privileges to write
Authorization bypass in Canonical LXD (6.0 before 6.10, 5.21.x before 5.21.6, 5.0.x before 5.0.8) lets an authenticated
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-88258
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB