Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain LXD account with can_create_storage_volumes
-
DeliveryCraft backup tarball omitting snapshot expires_at field
-
ExploitSubmit tarball to LXD REST API restore endpoint
-
ExecutionTrigger nil-pointer dereference in CreateCustomVolumeFromBackup
-
PersistLXD daemon crashes
-
ImpactDenial of service disrupts all hosted containers
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated LXD user account that has been explicitly granted the can_create_storage_volumes permission within LXD's authorization model. The attacker must be able to reach the LXD REST API over the network (AV:N per CVSS) and submit a backup tarball for custom volume restoration. The backup tarball must contain at least one snapshot entry where the expires_at field is absent. In standard single-operator LXD deployments this permission is held only by administrators, which substantially limits the realistic attacker population. The vulnerability cannot be triggered without this specific permission; unauthenticated users and authenticated users lacking can_create_storage_volumes are not exposed. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H reflects a network-reachable, low-complexity attack requiring only low-privilege authenticated access, with high availability impact and no confidentiality or integrity exposure. The PR:L requirement is the primary limiter: exploitation depends on holding the can_create_storage_volumes permission, which is not granted to arbitrary authenticated users by default in standard LXD deployments. Impact is a full daemon crash, disrupting all hosted containers - a meaningful blast radius in multi-tenant or production LXD hosts. No EPSS data was provided, and no KEV listing exists, indicating this has not been observed in widespread exploitation. The combination of authenticated prerequisite, no data exfiltration, and no public POC positions this as a moderate-priority internal threat - significant for environments where multiple tenants share can_create_storage_volumes access, lower priority for single-operator deployments. |
| Exploit ScenarioDerived | An authenticated LXD user holding the can_create_storage_volumes permission constructs a backup tarball containing a snapshot entry with the expires_at field omitted. The user submits this tarball to the LXD REST API endpoint for custom volume restoration, triggering the nil-pointer dereference in CreateCustomVolumeFromBackup. The LXD daemon crashes immediately, causing a denial of service that interrupts all containers and VMs running on the affected host until the daemon is restarted. No public POC exists at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
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.
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.
Affected VersionsENISA
Affected Packages
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 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.
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
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
DescriptionCVE.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.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Privilege escalation in Canonical LXD's operations API (LXD before 6.5 and LXD 5.21 before 5.21.4) allows an authenticat
Authenticated remote attackers with access to the Canonical LXD instance log retrieval or deletion endpoints can read ar
Server-side template injection in Canonical LXD's instance snapshot naming feature lets an authenticated user who can mo
Unauthenticated project enumeration in Canonical LXD 5.21.x before 5.21.4 and 6.x before 6.5 lets remote attackers deter
Unauthenticated remote attackers can confirm the existence of LXD projects on Canonical LXD by comparing HTTP status cod
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
Improper certificate validation in the HTTPS API listener of Canonical LXD lets an unauthenticated remote attacker prese
Arbitrary host file read and write in Canonical LXD occurs because the image import/unpack routine does not verify wheth
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
EUVD-2026-39789
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB