Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to LXD API with can_create_images entitlement
-
DeliveryPOST /images with attacker-controlled internal URL
-
ExploitLXD daemon initiates uninspected outbound HTTP request from host network
-
ExecutionObserve error response to confirm port state or service presence
-
PersistIterate over internal IP/port combinations
-
ImpactExfiltrate cloud metadata or internal service data via error side-channel
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access 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 API session with the can_create_images entitlement granted to the user or group - this entitlement is not held by all authenticated users by default and must be explicitly assigned. The LXD server must be reachable over the network (core.https_address must be configured), or the attacker must have local access to the Unix socket. The vulnerability is most impactful when the LXD host has network access to cloud metadata endpoints or internal management interfaces (e.g., Kubernetes API, internal HTTP services), which is common in cloud VM deployments. Exploitation is limited to read-side reconnaissance (error-based SSRF with partial confidentiality impact); no integrity or availability impact has been identified. The can_create_images entitlement requirement limits exploitation to users trusted enough to import container images, reducing but not eliminating risk in multi-tenant environments. |
| Impact | The CVSS 3.1 base score of 5.0 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N accurately reflects the threat model: network-accessible, low complexity, but gated behind authenticated access with the can_create_images entitlement. The Scope:Changed flag elevates significance by acknowledging cross-boundary impact to internal services. In cloud environments where the LXD host can reach the instance metadata service, even error-based SSRF can yield sensitive information such as IAM credentials or user-data scripts, meaningfully increasing real-world impact beyond the nominal C:L score. There is no CISA KEV listing and no known public exploit code, which lowers operational urgency for most deployments. EPSS data was not provided in source intelligence; absence of KEV and POC suggests this is a newly disclosed vulnerability without active mass exploitation. The primary risk concentrates in multi-tenant LXD deployments (e.g., hosting providers, CI/CD platforms) where the can_create_images entitlement is granted to semi-trusted users who could use it to pivot from the LXD API toward internal infrastructure. |
| Exploit ScenarioDerived | An attacker with a valid LXD API credential and can_create_images entitlement submits a POST request to the /images endpoint specifying a URL such as http://169.254.169.254/latest/meta-data/ or an internal RFC1918 address with varying port numbers. The LXD daemon initiates the connection from the host's network stack; the nature of the HTTP error response (connection refused, timeout, HTTP status code) discloses whether a port is open and what service may be running, enabling systematic internal port scanning and potential exfiltration of cloud instance metadata. No public POC has been identified, but the technique requires no special tooling beyond standard HTTP API calls. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Server-Side Request Forgery in Canonical LXD's image import endpoint allows authenticated users holding the can_create_images entitlement to direct the LXD daemon to make arbitrary outbound HTTP connections, including to loopback addresses, RFC1918 private ranges, and cloud instance metadata services such as 169.254.169.254. Affected versions span 4.12 through 6.9. An attacker can leverage error-based responses to enumerate internal TCP ports and fingerprint internal HTTP services from the daemon's privileged network position, enabling lateral reconnaissance in multi-tenant or cloud-hosted environments. No public exploit code has been identified at time of analysis, and CISA has not listed this in KEV.
RemediationAI
An upstream patch is available via GitHub pull request #18462 (https://github.com/canonical/lxd/pull/18462); however, a tagged released version incorporating this fix was not independently confirmed at time of analysis - operators should verify the fix version in the official advisory at https://github.com/canonical/lxd/security/advisories/GHSA-3gq2-x4qg-p4g6 before upgrading. As a documented workaround, Canonical recommends deploying a filtering proxy and configuring both core.proxy_http and core.proxy_https LXD server settings to route all outbound HTTP/HTTPS through it; the proxy should block connections to loopback addresses, RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), and cloud metadata endpoints (169.254.169.254, fd00:ec2::254, metadata.google.internal). Note that setting up a proxy introduces a dependency on proxy availability and may break legitimate image imports from public registries if misconfigured. A secondary hardening measure from the PR diff is to bind the LXD API to a specific trusted IP and port rather than a port alone (e.g., use 192.0.2.10:8443 instead of :8443) to limit which network interfaces can reach the API at all, reducing the pool of users who can reach the vulnerable endpoint.
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 system container and virtual machine manager, primarily used on Ubuntu hosts. Its REST API exposes a /images endpoint that accepts URL-based image imports, causing the lxd daemon process to initiate outbound HTTP(S) connections. CWE-918 (Server-Side Request Forgery) describes this root cause: the application fetches a remote resource using attacker-controlled input without validating or restricting the destination address. Because the daemon process typically runs with elevated host-level privileges and direct access to host network interfaces, it may reach internal management planes, cloud metadata APIs (AWS IMDSv1 at 169.254.169.254, GCP at metadata.google.internal), Kubernetes API servers, or other infrastructure not reachable from unprivileged workloads. The CPE string cpe:2.3:a:canonical:lxd:*:*:*:*:*:*:*:* confirms this applies across the LXD application product line without OS-level qualification. The CVSS scope flag S:C reflects that the vulnerable LXD component can impact resources outside its own security context - specifically the internal services it reaches.
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:C/C:L/I:N/A:N
PR:L reflects the required can_create_images entitlement; S:C and C:L capture cross-boundary reconnaissance of internal services; no integrity or availability impact applies.
Primary rating from Vendor (canonical).
CVSS VectorVendor: canonical
DescriptionCVE.org
In Canonical LXD versions 4.12 through 6.9, a Server-Side Request Forgery (SSRF) vulnerability in the image import functionality allows authenticated users with the can_create_images entitlement to interact with internal network infrastructure via the /images endpoint. When importing an image from a URL source, the LXD daemon fails to validate or restrict outbound destination IP addresses, allowing connections to loopback, RFC1918 private ranges, and cloud metadata endpoints. This enables error-based port scanning and unauthorized interaction with internal HTTP services from the daemon's network position.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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-39805
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB