Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Network-accessible LXD API, low complexity; PR:L because can_create_storage_volumes is required; crash yields A:H with no data exposure.
Primary rating from Vendor (canonical).
CVSS VectorVendor: canonical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Lifecycle Timeline
3DescriptionCVE.org
Nil-pointer dereference in CreateCustomVolumeFromBackup in LXD up to version 6.8 and 5.21 on Linux allows an authenticated user with can_create_storage_volumes permissions to cause a denial of service via a specially crafted custom-volume backup tarball that omits the expires_at snapshot field.
AnalysisAI
Nil-pointer dereference in LXD's CreateCustomVolumeFromBackup function allows an authenticated user with can_create_storage_volumes permissions to crash the LXD daemon via a crafted backup tarball, affecting all containers running on the host. Versions up to 6.8 (current branch) and 5.21 (LTS branch) on Linux are vulnerable. No public exploit or CISA KEV listing exists at time of analysis, but upstream fix commits are available from Canonical.
Technical ContextAI
LXD is Canonical's open-source Linux container and virtual machine hypervisor, primarily deployed on Ubuntu. The flaw resides in lxd/storage/backend_lxd.go within the CreateCustomVolumeFromBackup function. During custom volume restoration from a backup tarball, the code iterates over snapshot entries and unconditionally dereferences the ExpiresAt pointer field (*snapshot.ExpiresAt) when calling VolumeDBCreate. If a crafted tarball omits the expires_at field for any snapshot, the pointer is nil and dereferencing it triggers a fatal nil-pointer dereference (CWE-476), crashing the LXD daemon process. The patch (PR #18320) introduces an explicit nil guard: if snapshot.ExpiresAt != nil, the value is used; otherwise a zero-value time.Time is passed. CPE cpe:2.3:a:canonical:lxd:*:*:*:*:*:*:*:* covers the affected product across all listed versions.
RemediationAI
Upstream fix commits are available in Canonical's GitHub repository via pull requests #18320 (https://github.com/canonical/lxd/pull/18320) and #18390 (https://github.com/canonical/lxd/pull/18390). Exact patched release versions are not independently confirmed from available data - monitor the vendor advisory at https://github.com/canonical/lxd/security/advisories/GHSA-j93m-3j9p-m5m8 for official release tags and apply the update as soon as a patched version is published. As a compensating control prior to patching, restrict the can_create_storage_volumes permission to only fully trusted administrators using LXD's fine-grained authorization system; note this prevents all non-admin users from creating volumes from backups, which may impact legitimate workflows. Additionally, restrict LXD API network exposure to trusted network segments where feasible.
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
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 lets an authenticated user with instance-migration privileges smuggle high-privile
Authorization bypass in Canonical LXD lets an authenticated user with copy privileges smuggle instances carrying disallo
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
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
Same weakness CWE-476 – NULL Pointer Dereference
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39789