Skip to main content

Canonical LXD CVE-2025-54293

| EUVDEUVD-2025-32640 HIGH
Path Traversal (CWE-22)
2025-10-02 security@ubuntu.com GHSA-472f-vmf2-pr3h
7.1
CVSS 4.0 · Vendor: ubuntu
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to LXD API or LXD-UI
  2. Exploit
    Craft log filename with traversal or symlink
  3. Execution
    Bypass validLogFileName validation via filepath.Join normalization
  4. Impact
    Read arbitrary root-owned host files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Requires an authenticated LXD account with access to the instance log retrieval/deletion endpoints (reachable via the LXD API or LXD-UI). The attacker supplies a log filename beginning with the snapshot_ or migration_ prefix whose trailing portion is insufficiently validated by validLogFileName in lxd/instance_logs.go, or a symbolic link; traversal succeeds specifically because Go's filepath.Join normalizes the path before kernel-level path checks would reject it. Exploitation is LIMITED to the LXD 5.0 LTS series and versions below 5.21.4 (6.x below 6.5); it needs valid authentication (PR:L, no unauthenticated path) but no user interaction, and the root-privileged daemon means successful reads expose any host file.

Impact

This is a genuine but moderate-priority issue, not a top-tier emergency. The CVSS 4.0 base score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) reflects a network-reachable, low-complexity attack that nonetheless requires authentication (PR:L) and yields confidentiality-only impact (arbitrary host file read, no integrity or availability loss). Multiple signals point AWAY from mass exploitation: EPSS is very low at 0.07% (20th percentile), and the CVE is NOT listed in CISA KEV, indicating no confirmed active exploitation. Counterbalancing this, a public proof-of-concept with full reproduction steps exists in the Canonical GHSA advisory, lowering the skill barrier. The requirement for a valid authenticated LXD account (LXD-UI or API access) is the key risk-limiter - this is a privilege-escalation/information-disclosure flaw usable by an already-trusted-but-restricted user, not an unauthenticated internet-facing RCE. Note a data tension worth verifying: the public description scopes the flaw to 'LXD 5.0 LTS,' while the EUVD/Go vulnerability database list the vulnerable ranges as >=4.0 <5.21.4 and >=6.0 <6.5 - the GHSA further states no dedicated security patch was backported to LXD 5.0 and earlier, so 5.0 LTS operators may remain exposed despite fixes existing in 5.21.4/6.5. Overall: a real, patch-worthy flaw for anyone running multi-tenant or restricted-user LXD, but low likelihood of opportunistic widespread exploitation.

Exploit ScenarioDerived

An attacker holding a restricted but authenticated LXD account (for example a limited LXD-UI user) sends a crafted instance log-retrieval request whose filename abuses the snapshot_/migration_ prefix handling or a symbolic link to traverse out of the log directory. Because Go's filepath.Join normalizes the path before OS-level checks apply, the traversal succeeds and the root-privileged LXD daemon returns arbitrary host files such as /etc/shadow or TLS keys. A public proof-of-concept with step-by-step reproduction (including a browser DevTools script against LXD 5.0) is published in the Canonical GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

Authenticated remote attackers with access to the Canonical LXD instance log retrieval or deletion endpoints can read arbitrary files on the host through a path traversal flaw (CWE-22) in the validLogFileName validation routine used by the LXD 5.0 LTS series. Exploitation requires a valid LXD account (CVSS PR:L, no user interaction), and because the daemon runs with root privileges, successfully read files can include any host file readable by root; publicly available exploit code exists and the issue is reachable through the LXD API or the LXD-UI. The defect is corrected in LXD 5.21.4 and 6.5, but the upstream fix (PR #15022) was aimed at code cleanup and no dedicated security patch was issued for the 5.0 LTS branch, so 5.0 LTS deployments remain affected; EPSS is low at roughly 0.07% (20th percentile) and there is no CISA KEV confirmation of active exploitation.

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

RemediationAI

The primary fix is to upgrade to a patched release: LXD 5.21.4 or later for the 5.2x line, or LXD 6.5 or later for the 6.x line, as documented in the GitHub security advisory https://github.com/canonical/lxd/security/advisories/GHSA-472f-vmf2-pr3h and implemented by PR https://github.com/canonical/lxd/pull/15022; Debian users should apply DSA-6027-1 and DSA-6028-1 (see https://security-tracker.debian.org/tracker/dsa-6027-1). Because LXD 5.0 LTS received no dedicated security backport, organizations pinned to 5.0 LTS must either migrate to a supported patched series or, if that is not immediately possible, apply compensating controls: restrict who can reach the instance log endpoints by tightening LXD API authorization and project/instance access so that only fully trusted administrators hold accounts capable of invoking the log retrieval and deletion routes (this removes the attack path entirely but reduces operational flexibility for delegated operators), and avoid exposing the LXD-UI or the LXD REST API to untrusted networks, placing them behind mutual-TLS or a management-only network segment (this limits exposure but is bypassed by any attacker who already holds valid credentials). Monitoring LXD audit logs for log-retrieval requests whose filenames contain encoded traversal or unusual prefixes can provide detection, though it does not prevent successful reads by an authorized-but-malicious user. Note that the upstream fix was made incidentally during a code-quality change, so verifying the exact released version rather than a commit hash is essential before treating a deployment as remediated.

Affected VersionsENISA

LXD 6.0 <6.5
LXD 5.21 <5.21.4

Affected Packages

go github.com/canonical/lxd fix: 0.0.0-20250224180022-ec09b24179f3, 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 is a path traversal (CWE-22) in the log filename validation logic of lxd/instance_logs.go. In the vulnerable 5.0 LTS code, validLogFileName accepts filenames that begin with the snapshot_ or migration_ prefixes but performs insufficient validation of the trailing portion, allowing sequences such as '../' to be smuggled through. Traversal succeeds specifically because the Go implementation calls filepath.Join, which normalizes the path before it reaches the kernel, defeating the OS-level rejection that would normally block paths like /not_exist_folder/../exist_folder/. The fixed implementation routes filenames through shared.IsFileName and rejects any name containing '/', '\', or '..', and the broader PR #15022 also tightened name validation for projects, cluster groups, and instance references. The affected packages are the Go module github.com/canonical/lxd (vulnerable >= 4.0, < 5.21.4 and >= 6.0, < 6.5, fixed in 5.21.4 and 6.5), corresponding to the CPE canonical:lxd entries; the code paths of concern are instanceLogGet and instanceLogDelete, which both rely on the flawed validator.

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

Remote LXD API access requires a valid authenticated account (PR:L) with low complexity; arbitrary host file read gives high confidentiality only, with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Ubuntu MEDIUM
SUSE 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/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
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

6
Severity Changed
Oct 12, 2026 - 15:22 NVD
MEDIUM HIGH
CVSS changed
Oct 12, 2026 - 15:22 NVD
6.5 (MEDIUM) 7.1 (HIGH)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
PoC Detected
Dec 10, 2025 - 19:31 vuln.today
Public exploit code
CVE Published
Oct 02, 2025 - 11:15 cve.org
HIGH 7.1
CVE Published
Oct 02, 2025 - 11:15 nvd
MEDIUM 6.5

DescriptionCVE.org

Path Traversal in the log file retrieval function in Canonical LXD 5.0 LTS on Linux allows authenticated remote attackers to read arbitrary files on the host system via crafted log file names or symbolic links.

Executive ViewAI

Why It Matters

CVE-2025-54293 presents notable security risk, a path traversal vulnerability rated CVSS 6.5. This could allow unauthorized file access. 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 file access via WAF, implement allowlists.

Threat Intelligence Overview

EPSS Score
0.1%
Top 80% exploitable
Prevalence
Medium
Canonical LXD container manager, common in Linux/cloud estates but 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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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

CVE-2026-63300 CRITICAL
9.9 Aug 12

Project-confinement bypass in Canonical LXD lets an authenticated user holding can_create_instances on a restricted proj

Vendor StatusVendor

Ubuntu

Priority: Medium
lxd
Release Status Version
xenial needs-triage -
bionic needs-triage -
focal needs-triage -
jammy DNE -
noble DNE -
plucky DNE -
upstream needs-triage -
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