Skip to main content

Canonical LXD EUVDEUVD-2025-32641

| CVE-2025-54291 MEDIUM
Error Message Information Leak (CWE-209)
2025-10-02 security@ubuntu.com GHSA-xch9-h8qw-85c7
6.9
CVSS 4.0 · Vendor: ubuntu
View

Attack ChainAIDerived

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

  1. Access
    Reach network-exposed LXD images API
  2. Exploit
    Send requests with crafted project parameter
  3. Execution
    Compare 404 vs 403 status codes
  4. Impact
    Enumerate existing project names

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error message sanitization
MITRE ATT&CK

1 technique across 1 tactic: Discovery

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

Exploitation Conditions

The /1.0/images endpoint is explicitly an AllowUntrusted LXD API requiring no authentication, so no special application configuration is needed once the API is reachable - the leak occurs against default handling of the project query parameter. The key limiting factor is network exposure: LXD by default listens only on a local Unix socket, so the HTTPS API (typically port 8443) must have been deliberately enabled via core.https_address for a remote attacker to reach it. Exploitation is therefore unauthenticated and low-complexity where the network API is exposed, but confined to confirming project existence (a reconnaissance oracle) with no access to private data; affected versions are LXD >=5.21 <5.21.4 and >=6.0 <6.5.

Impact

This is a low-severity information disclosure issue despite its CVSS 4.0 base score of 6.9. The signals are largely consistent in pointing to limited real-world risk: the EPSS probability is just 0.09% (25th percentile), the vulnerability is NOT in CISA KEV (no confirmed active exploitation), and the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N) correctly reflects a network-reachable, unauthenticated flaw whose only impact is LOW confidentiality - leakage of project-existence metadata, not credentials, code execution, or data. A public proof-of-concept exists (the GHSA advisory contains full curl reproduction steps), which raises ease-of-use, but POC availability is a distinct signal from active exploitation and should not be conflated with it. The one caveat worth flagging: the 6.9 base score overstates practical priority because exploitation yields only an oracle for project names - valuable for reconnaissance but not directly impactful. Treat this as a reconnaissance/information-leak hygiene fix to schedule with normal patch cycles, not an emergency.

Exploit ScenarioDerived

An unauthenticated attacker who can reach a network-exposed LXD HTTPS API sends requests to the /1.0/images endpoint with a crafted project parameter and compares the HTTP error codes - a 404 ('Project not found') versus a 403 ('Untrusted callers may only access public images') reveals whether a named project exists. A public proof-of-concept with working curl commands is published in the GHSA advisory, so the attack is trivially reproducible for reconnaissance and project-name enumeration.

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

Unauthenticated remote attackers can confirm the existence of LXD projects on Canonical LXD by comparing HTTP status codes returned from the /1.0/images API, which is registered as an AllowUntrusted endpoint that requires no account. The endpoint replies 404 for a non-existent project but 403 for an existing one, producing a project-enumeration oracle with limited confidentiality impact; a publicly available exploit code exists in the form of the upstream GHSA reproduction steps, but there is no confirmed active exploitation and EPSS is low at roughly 0.09% (25th percentile). The practical exposure is bounded because LXD only listens on a network HTTPS socket when core.https_address has been deliberately enabled, and the flaw reveals nothing beyond project name existence.

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

RemediationAI

Vendor-released patch: upgrade to LXD 6.5 (current series) or LXD 5.21.4 (5.21 LTS), as documented in GHSA-xch9-h8qw-85c7; snap users should refresh the lxd snap to a channel at or above these versions, and Debian users should apply DSA-6027-1 (https://security-tracker.debian.org/tracker/dsa-6027-1). Because the flaw requires the network HTTPS API to be reachable, the most effective immediate mitigation is to stop exposing it: remove or restrict core.https_address so the daemon listens only on its local Unix socket, or firewall the API port (commonly 8443) to trusted management hosts only - the trade-off is loss of remote CLI/API access, remote clients, and LXD cluster traffic, which must instead be routed through an authenticated control plane. Disabling the untrusted API surface is not a viable compensating control here, since the endpoint is intentionally public and used for public image access; where remote exposure is unavoidable, treat project names as non-secret and monitor for repeated 403/404 differential probing of /1.0/images?project=. Note that no patch version should be assumed beyond 5.21.4 and 6.5, and the leak is confined to project-existence reconnaissance, so prioritization can be moderate rather than emergency.

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

This is a CWE-209 (generation of error message containing sensitive information) issue in the Go implementation of the LXD REST API. The /1.0/images endpoint is exposed through the daemon's untrusted API surface (daemon.go AllowUntrusted registration), so callers without accounts can reach it. When the project query parameter is supplied, the imagesGet handler delegates validation to projectutils.ImageProject; the underlying database mapper (db/cluster/projects.mapper.go) returns a 404 Not Found ('fetch project: Project not found') when the project does not exist, whereas the handler returns response.Forbidden (403, 'Untrusted callers may only access public images in the default project') when the project exists but the caller cannot view it. Because distinct error classes are propagated to the client, the two responses form a binary oracle for project existence. The affected code is packaged as the Go module github.com/canonical/lxd and is shipped both in the LXD snap and in distribution packages (Debian tracks DSA-6027-1 across nine releases). The CVSS 4.0 base of 6.9 and the assessed CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N both reflect unauthenticated, low-complexity network access with only low confidentiality impact and no integrity or availability effect.

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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

The images API is unauthenticated and network-reachable (AV:N/PR:N/UI:N), the status-code oracle is trivially triggered (AC:L), and only project-existence metadata leaks (C:L, I:N, A:N).

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

Primary rating from Vendor (ubuntu).

CVSS VectorVendor: ubuntu

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

Lifecycle Timeline

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

DescriptionCVE.org

Information disclosure in images API in Canonical LXD before 6.5 and 5.21.4 on all platforms allows unauthenticated remote attackers to determine project existence via differing HTTP status code responses.

Executive ViewAI

Why It Matters

Organizations using images API in Canonical LXD should be aware of moderate risk from CVE-2025-54291 rated CVSS 5.3. 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: Low
Compensating Controls

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

Threat Intelligence Overview

EPSS Score
0.1%
Top 75% exploitable
Prevalence
Medium
Canonical LXD is a popular container/VM manager, common in Ubuntu server estates but not everywhere
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

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Low

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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

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

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 vulnerable 5.0.2-5+deb12u2 -
bookworm (security) vulnerable 5.0.2-5+deb12u3 -
trixie vulnerable 5.0.2+git20231211.1364ae4-9+deb13u2 -
trixie (security) vulnerable 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