Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project operator
-
DeliveryCraft backup with restricted keys in snapshot
-
ExploitImport backup into restricted project
-
ExecutionRestore snapshot bypassing policy validation
-
PersistStart modified instance
-
ImpactGain host root access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concrete conditions drawn from the description: (1) LXD must be deployed as a restricted multi-tenant environment with project-restriction policies in force - single-tenant or unrestricted installs are not affected; (2) the attacker must already hold an authenticated project operator account in such a restricted project (PR:H), so this is not anonymous; and (3) the attacker must be able to import an instance backup and restore a snapshot, with the backup maliciously crafted to embed restricted configuration keys inside a snapshot definition. Exploitation is limited to these restricted-project deployments and to the createFromBackup/snapshot-restore code path, and the final step of gaining host root requires actually starting the modified instance after restore. |
| Impact | The vendor CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H, base 7.2 High) reflects a network-reachable LXD API, low attack complexity, and full host compromise, but is gated behind high privileges (an existing project operator account) and, critically, a non-default deployment: this is only exploitable where LXD is configured for restricted multi-tenant projects. No EPSS score was provided in the input and the CVE is not in CISA KEV, so there is no evidence of active or widespread exploitation; treat the AV:N as 'reachable by anyone with an operator token,' not anonymous internet exposure. One signal to flag: the vendor scored scope unchanged (S:U) even though the impact is escaping a confined project to host root, which is arguably a scope change - defenders should treat the real-world impact as full host takeover regardless. This is a genuine priority for organizations running LXD as a multi-tenant container host (the threat model it is sold against), and low priority for single-tenant LXD installs where no restricted projects exist. |
| Exploit ScenarioDerived | A tenant operator on a shared LXD host crafts an instance backup whose snapshot definition contains restricted configuration keys (for example security/privilege or restricted volatile keys) that project policy would normally reject. They import the backup into their restricted project and restore the snapshot; LXD applies the restricted keys to the live instance without policy validation, and starting that instance yields root on the underlying host. No public proof-of-concept is identified at time of analysis, and the low attack complexity (AC:L) means the only real barrier is already holding an operator account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Privilege escalation in Canonical LXD (versions 6.0-6.8, 5.21.0-5.21.4, and 5.0.0-5.0.6) allows an authenticated project operator in a restricted multi-tenant deployment to escape tenant confinement and obtain host root. Because project-restriction policies are not re-validated when an instance backup is imported and its snapshot restored, an operator can smuggle restricted configuration keys into a snapshot, restore them onto the live instance, and start it to gain unauthorized root on the host. There is no public exploit identified at time of analysis and the issue is not listed in CISA KEV, but a vendor patch and the fixing source code are available.
RemediationAI
Vendor-released patch: upgrade to LXD 6.9, 5.21.5, or 5.0.7 or later depending on your branch, per advisory GHSA-ppq7-4492-5552 (https://github.com/canonical/lxd/security/advisories/GHSA-ppq7-4492-5552); the corresponding code fixes are in https://github.com/canonical/lxd/pull/18301, /18303 and /18304. If you cannot patch immediately, the most effective compensating control is to prevent untrusted operators from importing backups: restrict or revoke the ability of restricted-project operators to create instances from backup files (the createFromBackup / 'lxc import' path), or only accept backups from trusted sources and inspect them before restore, since the bypass depends on a maliciously crafted backup. Reducing the number of accounts holding project operator privileges and auditing existing restricted-project instances for unexpected restricted configuration or volatile keys also limits exposure; the trade-off of blocking backup import is loss of self-service restore for tenants until the upgrade is applied.
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
LXD is Canonical's system container and virtual-machine manager that supports multi-tenancy through 'projects' with restriction policies (the project restricted.* settings) that block tenants from setting dangerous instance configuration keys such as security/privilege-related and volatile keys. The root cause is CWE-863 (Incorrect Authorization): the createFromBackup code path in lxd/instances_post.go validated project permissions against the backup's top-level instance definition but never iterated over the snapshot definitions inside the backup. As shown in PR #18301, the original code called limits.AllowInstanceCreation only once; the fix refactors AllowInstanceCreation to take a pre-fetched ProjectInfo and additionally loops over bInfo.Config.Snapshots, calling AllowInstanceCreation for each snapshot so restricted keys are checked. The patch also extends checkRestrictionsOnVolatileConfig to cover additional volatile keys (volatile.cloud-init.instance-id and volatile.uuid.generation), indicating restricted volatile state inside snapshots was part of the bypass surface. The affected component per CPE is cpe:2.3:a:canonical:lxd.
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:H/UI:N/S:U/C:H/I:H/A:H
API-reachable with low complexity, needs an existing operator account (PR:L); escaping a confined project to host root is a scope change (S:C) with full host compromise.
Primary rating from Vendor (canonical).
CVSS VectorVendor: canonical
DescriptionCVE.org
A privilege escalation vulnerability exists in LXD from 6.0 before 6.9, 5.21.0 before 5.21.5, and 5.0.0 before 5.0.7 regarding the handling of project-restriction policies during snapshot restoration.. An authenticated project operator in a restricted multi-tenant environment can bypass policy restrictions by importing a maliciously crafted instance backup containing restricted configuration keys within a snapshot. When the snapshot is restored, these restricted keys are applied to the live instance without policy validation. Starting the modified instance grants the operator unauthorized host root access.
Executive ViewAI
Canonical LXD versions 6.0-6.8, 5.21.0-5.21.4, and 5.0.0-5.0.6 contain a privilege escalation vulnerability that enables project operators to escape tenant confinement and achieve host root access on multi-tenant deployments. This directly breaches the security isolation boundary that containerization relies upon, potentially compromising all hosted workloads across the infrastructure. Organizations using LXD for multi-tenant environments must prioritize remediation to restore container security guarantees.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
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
Improper certificate validation in the HTTPS API listener of Canonical LXD lets an unauthenticated remote attacker prese
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
EUVD-2026-39794
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB