Skip to main content

Canonical LXD EUVDEUVD-2026-88261

| CVE-2026-87798 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-09-28 canonical
5.8
CVSS 3.1 · Vendor: canonical
View

Attack ChainAIDerived

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

  1. Access
    Gain root inside LXD guest VM
  2. Delivery
    Install modified lxd-agent
  3. Exploit
    Wait for operator recursive file pull
  4. Execution
    Return inconsistent SFTP/Lstat responses
  5. Persist
    Redirect writes via improper link resolution
  6. Impact
    Write arbitrary files to host paths

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Requires (1) the attacker to already hold root inside a guest virtual machine managed by LXD, so they can replace the lxd-agent binary; (2) the host operator to invoke the recursive file pull feature of the LXD CLI client (e.g. recursive lxc file pull) against that malicious VM - this is the UI:R user-interaction requirement; and (3) affected client versions 4.0.2 through 6.9 on Linux. Limiting factors: the high complexity (AC:H) of forging inconsistent SFTP directory listings and Lstat results to win link-resolution handling, the need for operator action, and that impact is confined to file/directory writes on the host with the operator's privilege level (no confidentiality or availability impact). Hosts whose operators never run recursive pulls from untrusted VMs are effectively not exposed.

Impact

This is a genuine but constrained integrity issue, not a high-urgency threat. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N = 5.8 Medium) tells the real story: high attack complexity, low privileges required (root inside the guest is 'low' relative to the host trust boundary), and mandatory operator interaction. Exploitation is a reverse-trust / confused-deputy scenario - a compromised guest attacks the operator who pulls files out of it. There is no CVSS confidentiality or availability impact; the sole impact is integrity (arbitrary file write on the host). No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so this is no public exploit identified at time of analysis. Signals are internally consistent: a vendor-self-reported (Canonical) medium-severity flaw with a coordinated GHSA advisory and patched releases, but nothing indicating widespread or automatable exploitation. Realistic priority is low-to-medium: patch during normal cycles, prioritize hosts where operators routinely run recursive file pulls against untrusted VMs. Note the input tag 'Information Disclosure' contradicts the vector (C:N, I:H) - this is a file-write/integrity flaw, not an info leak.

Exploit ScenarioDerived

An attacker who has gained root inside an LXD-managed virtual machine replaces the lxd-agent with a modified version that returns inconsistent SFTP directory listings and Lstat results. When the host operator later runs a recursive file pull (e.g. lxc file pull -r) from that VM, the malicious agent tricks link resolution so files or entire directory trees are written to attacker-chosen absolute paths on the host, with the operator's privileges. No public exploit code is identified in the provided data, and the high attack complexity plus required operator action make this an opportunistic rather than reliable attack.

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

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

Alert me

AnalysisAIv1 – Sep 28, 2026

Arbitrary file and directory-tree writes on an LXD client host can be achieved through the recursive file pull feature of the LXD CLI in Canonical LXD 4.0.2 through 6.9 on Linux. An attacker who already holds root inside a guest VM (CVSS PR:L) substitutes a modified lxd-agent that returns inconsistent SFTP directory listings and Lstat results, then waits for the host operator to invoke a recursive pull against that VM (UI:R); the difficulty of forging those inconsistent responses is captured by AC:H, and the write lands on the host with the operator's privileges (S:C, I:H, C:N, A:N). This is CWE-59 improper link resolution, no public exploit code was identified at time of analysis, and vendor patches are available in 4.0.14, 5.0.10, and 5.21.8.

RemediationAI

Upgrade the LXD CLI client on any affected host to a vendor-released patched build - 4.0.14 for the 4.0.x line, 5.0.10 for the 5.0.x line, or 5.21.8 - as documented in the advisory at https://github.com/canonical/lxd/security/advisories/GHSA-mr8v-hx34-hfvf; the fix is client-side, so host workstations and jump boxes that run lxc file pull, not just the VM hosts, must be updated. If immediate upgrading is not possible, treat guest-side root as untrusted: stop running recursive pulls (lxc file pull -r or any recursive equivalent) against VMs whose root account is not fully trusted, since that operator interaction is the trigger and the flaw is not exploitable without it - the trade-off is loss of convenient whole-directory transfers, so bulk data must instead be fetched as individual files or retrieved from inside the guest through a separate trusted channel. Narrowing which host accounts may execute recursive pulls against production or third-party VMs reduces the number of privileged writers an attacker can influence, at the cost of added operator friction, and preferring fully trusted, non-compromised guest images for routine pulls limits exposure without changing LXD behavior.

Affected VersionsENISA

LXD 5.21.0 <5.21.8
LXD 4.0.2 <4.0.14
LXD 6.0 <6.9
LXD 5.0.0 <5.0.10

Affected Packages

euvd lxd fix: 4.0.14, 5.0.10, 5.21.8, 6.9

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 virtual machine manager, where each VM runs an in-guest agent (lxd-agent) that the host-side LXD client communicates with; file transfers between host and guest are handled over an SFTP-style channel, and the CLI's recursive pull walks guest directory listings while separately querying Lstat metadata for each entry. The vulnerability is CWE-59, improper link resolution before file access: because the client trusts the guest-supplied SFTP listing and Lstat results without consistently re-validating them against one another, a malicious agent running as root inside the guest can present a listing and metadata that disagree about what a path actually is (for example, a listing that appears to be a plain directory while Lstat describes a symlink, or vice versa), steering the client's link-resolution logic so it writes attacker-chosen content outside the intended destination on the host. The affected component is the host-side LXD CLI client on Linux, version range 4.0.2 up to 6.9, tracked under CPE cpe:2.3:a:canonical:lxd. The CVSS vector AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N confirms the network vector, high attack complexity, low privileges required (here satisfied by in-guest root), required operator interaction, a scope change as the guest-originated input affects the host, and an impact limited to integrity - there is no confidentiality or availability effect. Because the guest-to-host trust boundary is only crossed when the operator actively pulls recursively from an untrusted VM, hosts whose operators never perform such pulls from untrusted guests are not exposed.

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 (canonical) PRIMARY 5.8 MEDIUM
AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N
vuln.today AI 5.8 MEDIUM

Guest root communicates over the LXD/SFTP channel (AV:N), forging consistent listings is complex (AC:H), attacker needs guest privileges (PR:L), operator must run the pull (UI:R), and the write crosses the VM/host boundary (S:C) with integrity-only impact.

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

Primary rating from Vendor (canonical).

CVSS VectorVendor: canonical

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 14:02 EUVD
CVE Published
Sep 28, 2026 - 13:22 cve.org
MEDIUM 5.8

DescriptionCVE.org

Improper link resolution in the recursive file pull feature of the LXD CLI client in Canonical LXD versions 4.0.2 up to 6.9 (fixed in 4.0.14, 5.0.10 and 5.21.8) on Linux allows an attacker with root access inside a virtual machine to write attacker-controlled files or directory trees to arbitrary paths on the client host, with the operator's privileges. The attacker does this by using a modified lxd-agent that returns inconsistent SFTP directory listings and Lstat results.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
Popular Canonical container/VM manager, common in Ubuntu server fleets but not universal
Data Quality
5 sources
Confidence: Medium

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 No
EPSS 0.2%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

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

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