Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to LXD cluster with instance rights
-
DeliveryBuild instance with config disallowed in target project
-
ExploitPOST migration:true, project:<restricted>, target:<member>
-
ExecutionDestination skips project restriction checks
-
PersistDisallowed instance persisted in restricted project
-
ImpactAbuse elevated config to escape tenant isolation
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 an authenticated LXD user (PR:L) with permission to create and migrate instances, and a clustered LXD deployment with more than one member (the bug lives in the cross-member migration path where the destination trusts an internal cluster notification). The concrete trigger is a POST /1.0/instances/{name} call with migration:true, a project value naming a DIFFERENT (restricted) target project, and a target value naming another cluster member. Limiting factors: the target project must actually have restrictions/limits configured for the bypass to matter; single-node (non-clustered) LXD or deployments without project restrictions gain no benefit for the attacker; and the attacker needs pre-existing authenticated access, so this is not exploitable by anonymous remote users despite the AV:N vector. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C) describes a network-reachable, low-complexity attack needing only low privileges and no user interaction, with a scope change reflecting that the attacker crosses from their own project into a differently-restricted project - this is what drives the 9.9 score. The realistic risk is meaningful but bounded: the attacker must already be an authenticated LXD user with rights to create/migrate instances and target a specific cluster member, so this is a privilege/tenant-isolation escalation within an existing multi-tenant cluster rather than an anonymous internet-facing RCE. EPSS was not provided and the CVE is not in CISA KEV, and no POC was supplied, so exploitation is currently theoretical; however, the logic is straightforward and the patch clearly reveals the missing check, so exploit development would not be hard. Given that a bypassed restriction can introduce dangerous configs (e.g. privileged containers or disallowed devices) into a hardened project, any organization running multi-tenant LXD clusters - even a mid-sized municipal IT team in koszalin should treat this as urgent - should prioritize patching, while single-tenant or non-clustered LXD hosts face substantially lower practical exposure. |
| Exploit ScenarioDerived | A tenant with legitimate access to a permissive LXD project crafts an instance carrying a configuration the target restricted project forbids (for example a privileged container or a disallowed disk pool/device), then issues POST /1.0/instances/{name} with migration:true, project:<restricted-target>, and target:<other-cluster-member>. The destination node treats the incoming migration as a trusted internal cluster notification and skips the target project's restriction checks, so the disallowed instance lands inside the hardened project. No public POC is known, but the low attack complexity means a knowledgeable insider could reproduce it reliably. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 12, 2026
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 user smuggle disallowed instance configurations into a restricted project by triggering a cross-project, cross-cluster-member migration. Because the migration arrives at the destination node as an internal cluster notification, the destination skips all target-project restriction checks (CWE-863), so limits and security restrictions on the target project are not enforced. Rated CVSS 9.9; reported by Canonical with a vendor patch available, but no public exploit identified at time of analysis and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to LXD 6.10 (6.0 branch), 5.21.6 (5.21 branch), or 5.0.8 (5.0 LTS branch) depending on your installed line; the corresponding upstream fixes are PRs https://github.com/canonical/lxd/pull/18651 and https://github.com/canonical/lxd/pull/18605, described in advisory https://github.com/canonical/lxd/security/advisories/GHSA-v9wr-9r7q-fh4g. Snap-based installs on a tracked channel will typically receive the fix automatically, but verify the running version after refresh. Until patched, reduce risk by restricting which users hold instance create/migrate permissions on the cluster and by limiting cross-project migration rights so untrusted tenants cannot target restricted projects; note this trades operational flexibility (self-service migrations) for safety. Monitor audit logs for POST /1.0/instances/{name} requests carrying migration:true with a project and target that differ from the caller's own project as a detection signal.
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 VM manager, commonly run in clustered multi-tenant deployments where 'projects' provide security and resource isolation (restricted projects can forbid privileged containers, certain devices, disk pools, etc.). The flaw is a CWE-863 (Incorrect Authorization) issue in the instance-migration path (lxd/instance_post.go). When an instance is moved with POST /1.0/instances/{name} using migration:true, project:<target>, target:<member>, the operation is relayed to the destination cluster member as an internal cluster notification. Internal notifications are implicitly trusted and bypass the project-restriction validation that a normal instance-creation request in the target project would undergo. The upstream fix (PR #18651, #18605) adds an explicit checkTargetProjectRestrictions() call that runs limits.AllowInstanceCreation() against the target project's fetched restrictions (including snapshots when instanceOnly is false) before persisting the migrated instance, closing the gap where the destination previously trusted the source's authorization.
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:H/I:H/A:H
Authenticated cluster user (PR:L) over the API (AV:N/AC:L) crosses a project trust boundary (S:C); introducing disallowed configs (e.g. privileged mode) can yield full instance/host compromise, justifying C/I/A:H.
Primary rating from Vendor (canonical).
CVSS VectorVendor: canonical
DescriptionCVE.org
An authorization bypass vulnerability in LXD allows an authenticated attacker to bypass target project security restrictions during cross-project instance migrations. When moving an instance cross-project to a different cluster member via POST /1.0/instances/{name} with migration: true, project: <target>, and target: <member>, the destination node skips all project restriction checks because the request arrives as an internal cluster notification. An attacker can exploit this to introduce disallowed instance configurations into a restricted project.
Executive ViewAI
Canonical LXD versions 6.0-6.9, 5.21.0-5.21.5, and 5.0.0-5.0.7 contain a critical authorization bypass that allows authenticated users to circumvent project-level security restrictions through container migration, potentially exposing restricted instances and violating multi-tenant isolation. Organizations using LXD with restricted or shared project configurations must patch immediately to prevent authenticated users from escalating privileges or accessing unauthorized workloads.
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.
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
Project-confinement bypass in Canonical LXD lets an authenticated user holding can_create_instances on a restricted proj
EUVD-2026-57415
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB