Skip to main content

Canonical LXD EUVDEUVD-2025-32637

| CVE-2025-54288 MEDIUM
Authentication Bypass by Spoofing (CWE-290)
2025-10-02 security@ubuntu.com GHSA-7232-97c6-j525
5.1
CVSS 4.0 · Vendor: ubuntu
View

Attack ChainAIDerived

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

  1. Access
    Gain root inside an LXD container
  2. Exploit
    Spoof '[lxc monitor]' process cmdline via exec -a
  3. Execution
    Query devLXD socket impersonating victim container
  4. Impact
    Read other containers' metadata, config and devices

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to already have root privileges inside an existing LXD container and local access to the devLXD endpoint (/dev/lxd/sock), which is exposed to containers by default. The specific technique is overriding the process command line via a shell exec -a '[lxc monitor]' wrapper so the findContainerForPID function in lxd/api_devlxd.go matches the attacker's forged projectName_containerName string. Limiting factors that reduce real-world risk: it is meaningful only on multi-container / multi-project hosts where other containers hold data worth stealing; it is read-only (metadata, config via /1.0/config, and devices via /1.0/devices - no modification); and it confers no benefit on single-tenant hosts since root in one container there is already fully trusted. Not remotely exploitable without first compromising a container to root.

Impact

This is a genuine but moderate-priority issue, not an urgent emergency. The input CVSS 4.0 vector scores 5.1 (Medium) and requires PR:H - the attacker must already hold root inside a container - so this is a privilege/isolation-boundary weakness rather than a remote entry point. EPSS is very low (0.06%, 17th percentile), the CVE is NOT in CISA KEV (no active-exploitation signal), and impact is confidentiality-only (VC:L/SC:L; no integrity or availability effect). Counterbalancing this, a fully working proof-of-concept with copy-paste reproduction steps is published in the vendor GHSA advisory, which raises practical exploitability for anyone already on a shared host. CONFLICTING SIGNAL: the vendor vector sets AV:N, but the described attack is executed against the local devLXD unix socket (/dev/lxd/sock) from inside a container using exec -a - that is a local vector, not network-reachable, so AV:N appears overstated; verify adjacency assumptions with the vendor. Net: prioritize patching on multi-tenant / multi-project LXD hosts where cross-container confidentiality matters; deprioritize on single-tenant hosts where all containers already share one trust domain.

Exploit ScenarioDerived

On a shared LXD host running containers for multiple tenants/projects, an attacker who has obtained root inside one container runs bash -c "exec -a '[lxc monitor]' curl --unix-socket /dev/lxd/sock http://lxd-host/1.0/meta-data -x 'otherproject_victim'" to make the devLXD server misidentify the request as coming from a different container. The server then returns the victim container's metadata, configuration, and device information. A publicly available proof-of-concept with exact reproduction steps exists in the Canonical GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 12, 2026

Container impersonation in Canonical LXD's devLXD server lets an attacker who already holds root inside one container read another container's metadata, configuration and device information by forging their process command line to look like another container's monitor process. Affected builds are LXD 4.0 through 5.21.x (fixed in 5.21.4) and 6.0 through 6.5.x (fixed in 6.5), including matching Go module versions; the vendor advisory GHSA-7232-97c6-j525 includes a full reproduction, so publicly available exploit code exists, though there is no KEV-listed active exploitation and EPSS is only 0.06% (17th percentile) because root inside a container is required (CVSS 4.0 vector rates it 5.1 with PR:H; our assessment is CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N). The impact is confidentiality-only - cross-container and cross-project information disclosure, not code execution or data modification - making it a genuine but moderate-priority problem that matters most on multi-tenant or multi-project hosts.

Earlier versions of this analysis (1)
v1 Mar 13, 2026 - 19:12 CVSS 6.8

RemediationAI

Vendor-released patch: upgrade to LXD 5.21.4 or LXD 6.5 (or later) - these are the exact fixed versions, and the Go module fix is commit 0494f5d47e41 (pseudo-version 0.0.0-20250827065555-0494f5d47e41), so Go embedders of github.com/canonical/lxd must bump their dependency to that revision or newer. Apply via your normal channel: snap refresh lxd (or the LTS snap track) for snap installs, the distro package for Ubuntu and Debian users (see DSA-6027-1 and DSA-6028-1 on the Debian security tracker, and the Ubuntu security notices for the 8 tracked releases), and restart the LXD daemon afterward so the new binary is in effect. Patch availability is confirmed by the vendor advisory GHSA-7232-97c6-j525 and the GO-2025-4001 entry. If you cannot patch immediately, the most direct compensating control is to remove the attack surface by disabling the devLXD socket for containers that do not need it (the instance option security.devlxd=false), which eliminates /dev/lxd/sock and therefore the /1.0/meta-data, /1.0/config and /1.0/devices endpoints - the trade-off is that cloud-init-style provisioning and any in-container agent reading instance metadata or config will break. A second option is to restrict the blast radius architecturally: this bug only yields value when multiple containers or projects share a host and hold data worth stealing, so consolidating untrusted workloads onto dedicated single-tenant hosts neutralizes the practical impact at the cost of density. Do not rely on hiding the socket path or on container-internal hardening, since the attacker already has root in the source container and the impersonation is performed through the kernel-visible process table. Note that devLXD disclosure is read-only, so no integrity or availability recovery steps are required for hosts that were patched before compromise.

Affected VersionsENISA

LXD 5.21 <5.21.4
LXD 6.0 <6.5

Affected Packages

go github.com/canonical/lxd fix: 0.0.0-20250827065555-0494f5d47e41, 5.21.4, 6.5
euvd lxd fix: 5.21.4, 6.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, 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 class is CWE-290, authentication bypass by spoofing: LXD's devLXD server decides which container a request came from by inspecting untrusted, attacker-controllable process metadata rather than a reliable kernel-provided identity. Specifically, findContainerForPID in lxd/api_devlxd.go uses a two-step heuristic - first it walks the caller's parent process chain looking for a process whose command line begins with the literal string [lxc monitor], then parses projectName_containerName out of that string to determine the sender; only if that fails does it fall back to matching the caller's PID against each container's PID namespace. Because a root user inside a container can rewrite its own argv with exec -a, the first branch can be satisfied with arbitrary contents, so the function returns the attacker-chosen container identity. The affected interface is the devLXD Unix socket at /dev/lxd/sock, which LXD exposes inside containers by default and which backs read-only endpoints such as /1.0/meta-data, /1.0/config, /1.0/config/{key} and /1.0/devices - the same endpoints enumerated in the GHSA as the disclosure surface (instance-id and local-hostname in the reproduced example). Affected CPE is cpe:2.3:a:canonical:lxd (two entries), and the ecosystem impact extends to Go consumers of github.com/canonical/lxd (GO-2025-4001) whose pinned pseudo-versions predate commit 0494f5d47e41. Note the scoring divergence: NVD's CVSS 4.0 vector is AV:N, whereas our assessment treats the attack as local (AV:L) because reaching the socket in practice requires root access inside a container on the 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 (ubuntu) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
vuln.today AI 3.2 LOW

Attack runs over the local devLXD socket needing container root, so AV:L and PR:H; impact crosses into other containers' data (S:C) but is read-only metadata, so C:L and I:N/A:N.

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

Primary rating from Vendor (ubuntu).

CVSS VectorVendor: ubuntu

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

5
CVSS changed
Oct 12, 2026 - 15:22 NVD
6.8 (MEDIUM) 5.1 (MEDIUM)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
PoC Detected
Oct 24, 2025 - 14:44 vuln.today
Public exploit code
CVE Published
Oct 02, 2025 - 10:15 cve.org
MEDIUM 5.1
CVE Published
Oct 02, 2025 - 10:15 nvd
MEDIUM 6.8

DescriptionCVE.org

Information Spoofing in devLXD Server in Canonical LXD versions 4.0 and above on Linux container platforms allows attackers with root privileges within any container to impersonate other containers and obtain their metadata, configuration, and device information via spoofed process names in the command line.

Executive ViewAI

Why It Matters

Organizations using devLXD Server in Canonical LXD should be aware of notable risk from CVE-2025-54288 rated CVSS 6.8. Exploitation could compromise the security of affected deployments. Proof-of-concept code is publicly available. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Moderate
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.

Threat Intelligence Overview

EPSS Score
0.1%
Top 83% exploitable
Prevalence
Medium
popular Canonical container hypervisor, common in Ubuntu/enterprise Linux, not universal
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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

Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-112816 CRITICAL
10.0 Oct 30

Improper certificate validation in the HTTPS API listener of Canonical LXD lets an unauthenticated remote attacker prese

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

Vendor StatusVendor

Ubuntu

Priority: Medium
lxd
Release Status Version
plucky DNE -
upstream needs-triage -
xenial needs-triage -
bionic needs-triage -
focal needs-triage -
jammy DNE -
noble DNE -
questing DNE -

Debian

incus
Release Status Fixed Version Urgency
trixie fixed 6.0.4-2+deb13u1 -
trixie (security) fixed 6.0.4-2+deb13u4 -
forky, sid fixed 6.0.5-8 -
(unstable) fixed 6.0.5-1 -
lxd
Release Status Fixed Version Urgency
bookworm fixed 5.0.2-5+deb12u1 -
bookworm (security) fixed 5.0.2-5+deb12u3 -
trixie fixed 5.0.2+git20231211.1364ae4-9+deb13u1 -
trixie (security) fixed 5.0.2+git20231211.1364ae4-9+deb13u3 -
(unstable) fixed (unfixed) -

SUSE

Severity: Medium
Product Status
openSUSE Tumbleweed Fixed

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