Skip to main content

Canonical LXD CVE-2026-85185

| EUVDEUVD-2026-88258 CRITICAL
Path Traversal (CWE-22)
2026-09-28 canonical
9.6
CVSS 3.1 · Vendor: canonical
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain LXD client with instance-create rights
  2. Delivery
    Craft backup/migration header with ../ subvolume path
  3. Exploit
    LXD resolves path outside storage as root
  4. Execution
    Delete host files or write content on btrfs root
  5. Impact
    Escape 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

LXD 4.0.2 <4.0.14
LXD 5.0.0 <5.0.10
LXD 6.0 <6.10
LXD 5.21.0 <5.21.8

Affected Packages

euvd lxd fix: 4.0.14, 5.0.10, 5.21.8, 6.10

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

Vendor (canonical) PRIMARY 9.6 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H
vuln.today AI 9.6 CRITICAL

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).

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H
SUSE CRITICAL

Primary rating from Vendor (canonical).

CVSS VectorVendor: canonical

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 14:02 EUVD
CVE Published
Sep 28, 2026 - 13:21 cve.org
CRITICAL 9.6

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Medium
Canonical LXD is a common container/VM manager in Ubuntu server and cloud fleets
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +48
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Lxd

View all
CVE-2025-54286 HIGH POC
7.5 Oct 02

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

CVE-2025-54289 HIGH POC
7.4 Oct 02

Privilege escalation in Canonical LXD's operations API (LXD before 6.5 and LXD 5.21 before 5.21.4) allows an authenticat

CVE-2025-54293 HIGH POC
7.1 Oct 02

Authenticated remote attackers with access to the Canonical LXD instance log retrieval or deletion endpoints can read ar

CVE-2025-54287 HIGH POC
7.1 Oct 02

Server-side template injection in Canonical LXD's instance snapshot naming feature lets an authenticated user who can mo

CVE-2025-54290 MEDIUM POC
6.9 Oct 02

Unauthenticated project enumeration in Canonical LXD 5.21.x before 5.21.4 and 6.x before 6.5 lets remote attackers deter

CVE-2025-54291 MEDIUM POC
6.9 Oct 02

Unauthenticated remote attackers can confirm the existence of LXD projects on Canonical LXD by comparing HTTP status cod

CVE-2026-63294 CRITICAL
9.9 Aug 12

Privilege escalation to host root in Canonical LXD occurs when the container manager unpacks crafted image or backup arc

CVE-2026-66897 CRITICAL
9.9 Aug 24

Host root code execution in Canonical LXD arises from a path-traversal flaw in instance template processing, letting an

CVE-2026-63293 CRITICAL
9.9 Aug 12

Arbitrary host file read and write in Canonical LXD occurs because the image import/unpack routine does not verify wheth

CVE-2026-63298 CRITICAL
9.9 Aug 12

Canonical LXD's NVIDIA GPU passthrough configuration handler fails to sanitize newline characters in user-supplied `nvid

CVE-2026-66898 CRITICAL
9.9 Aug 12

Path traversal in Canonical's LXD container and VM manager allows a user with backup import/restore privileges to write

CVE-2026-62420 CRITICAL
9.9 Aug 12

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

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
openSUSE Tumbleweed Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy