Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Reachable via the LXD API (AV:N) with low complexity; requires image-import privilege (PR:L, no UI); crosses container-to-host boundary (S:C) yielding root-level read/write, so C/I/A all High.
Primary rating from Vendor (ubuntu).
CVSS VectorVendor: ubuntu
Lifecycle Timeline
3DescriptionCVE.org
A link following vulnerability in LXD allows an attacker to achieve arbitrary file read and write operations on the host system. When importing or unpacking an image archive, LXD fails to validate whether the metadata.yaml file is a symbolic link. An attacker can exploit this flaw by providing a crafted image archive with a symlinked metadata.yaml file pointing to target file paths on the host system.
AnalysisAI
Arbitrary host file read and write in Canonical LXD occurs because the image import/unpack routine does not verify whether the bundled metadata.yaml entry is a symbolic link, letting an authenticated user with image-import rights supply a crafted archive whose symlinked metadata.yaml resolves to sensitive host paths. Rated CVSS 9.9 with a scope change (S:C), successful exploitation crosses the container/management boundary to read or overwrite files as the LXD daemon (typically root) on the host. There is no public exploit identified at time of analysis and the issue is not listed in CISA KEV; details are published only in Canonical advisory GHSA-j825-cg34-5fr5.
Technical ContextAI
LXD is Canonical's system container and virtual-machine manager whose daemon (lxd) generally runs as root and exposes a REST API for image management. Images are distributed as archives (unified or split tarballs) that include a metadata.yaml describing the image; during import/unpack LXD reads and processes this file. The flaw is a CWE-59 link-following (symlink) weakness: LXD treats the metadata.yaml path inside the archive as a regular file without checking st_mode/lstat semantics, so a symlink placed at that path is dereferenced against the host filesystem. Because the daemon runs with high privilege and the unpack step operates on host paths, dereferencing an attacker-controlled symlink yields read or write primitives against arbitrary host locations rather than being confined to the image staging directory.
RemediationAI
Upgrade LXD to the fixed release identified in Canonical advisory GHSA-j825-cg34-5fr5 (https://github.com/canonical/lxd/security/advisories/GHSA-j825-cg34-5fr5); the exact patched version is not present in the supplied data and must be taken from that advisory rather than assumed. Until patched, restrict who can import or upload images - limit image-import permissions to fully trusted operators and disable image acceptance from untrusted projects or remote users, accepting the trade-off that legitimate self-service image workflows are curtailed. Prefer importing only images from trusted, signed sources and, where feasible, unpack or inspect untrusted archives in an isolated sandbox before importing so a symlinked metadata.yaml cannot resolve against production host paths; note this adds operational overhead to image onboarding. Because the daemon typically runs as root, also review filesystem permissions and API access controls to reduce blast radius.
Cross-Site Request Forgery (CSRF) in LXD-UI in Canonical LXD versions >= 5.0 on Linux allows an attacker to create and s
Privilege Escalation in operations API in Canonical LXD <6.5 on multiple platforms allows attacker with read permissions
Information Spoofing in devLXD Server in Canonical LXD versions 4.0 and above on Linux container platforms allows attack
Path Traversal in the log file retrieval function in Canonical LXD 5.0 LTS on Linux allows authenticated remote attacker
A arbitrary file access vulnerability (CVSS 6.5) that allows an attacker with instance configuration permissions. Risk
Privilege escalation to host root in Canonical LXD occurs when the container manager unpacks crafted image or backup arc
Host root code execution in Canonical LXD arises from a path-traversal flaw in instance template processing, letting an
Canonical LXD's NVIDIA GPU passthrough configuration handler fails to sanitize newline characters in user-supplied `nvid
Path traversal in Canonical's LXD container and VM manager allows a user with backup import/restore privileges to write
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
Project-confinement bypass in Canonical LXD lets an authenticated user holding can_create_instances on a restricted proj
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
Same weakness CWE-59 – Improper Link Resolution Before File Access
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: CriticalShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-57540