Skip to main content

Canonical LXD CVE-2026-9640

| EUVDEUVD-2026-39794 HIGH
Incorrect Authorization (CWE-863)
2026-06-26 canonical
7.2
CVSS 3.1 · Vendor: canonical
Share

Severity by source

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

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.

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

Primary rating from Vendor (canonical).

CVSS VectorVendor: canonical

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Source Code Evidence Fetched
Jun 26, 2026 - 16:16 vuln.today
Analysis Generated
Jun 26, 2026 - 16:16 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

More in Lxd

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

Cross-Site Request Forgery (CSRF) in LXD-UI in Canonical LXD versions >= 5.0 on Linux allows an attacker to create and s

CVE-2025-54289 HIGH POC
8.1 Oct 02

Privilege Escalation in operations API in Canonical LXD <6.5 on multiple platforms allows attacker with read permissions

CVE-2025-54288 MEDIUM POC
6.8 Oct 02

Information Spoofing in devLXD Server in Canonical LXD versions 4.0 and above on Linux container platforms allows attack

CVE-2025-54293 MEDIUM POC
6.5 Oct 02

Path Traversal in the log file retrieval function in Canonical LXD 5.0 LTS on Linux allows authenticated remote attacker

CVE-2025-54287 MEDIUM POC
6.5 Oct 02

A arbitrary file access vulnerability (CVSS 6.5) that allows an attacker with instance configuration permissions. Risk

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-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-63296 CRITICAL
9.9 Aug 12

Authorization bypass in Canonical LXD lets an authenticated user with instance-migration privileges smuggle high-privile

CVE-2026-63297 CRITICAL
9.9 Aug 12

Authorization bypass in Canonical LXD lets an authenticated user with copy privileges smuggle instances carrying disallo

CVE-2026-63299 CRITICAL
9.9 Aug 12

Storage quota bypass in Canonical LXD (5.0.x before 5.0.8, 5.21.x before 5.21.6, and 6.0 before 6.10) lets an authentica

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

Share

CVE-2026-9640 vulnerability details – vuln.today

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