CVE-2026-28385
## Summary The LXD image import-from-URL endpoint (`POST /1.0/images` with `source.type=url`) makes server-side HTTP requests to an attacker-supplied URL without any private-IP or loopback blocking. An authenticated user with the `can_create_images` entitlement can force the LXD daemon to connect to internal network addresses (127.0.0.1, RFC1918 ranges, cloud metadata endpoints), enabling port scanning via error-based inference and interaction with internal HTTP services from the daemon's privileged network position. ## Severity - **Attack Vector:** Network — LXD API is network-accessible. - **Attack Complexity:** Low — Single crafted API request with no special conditions. - **Privileges Required:** Low — Requires `can_create_images` entitlement, a non-admin permission commonly delegated to regular users. - **User Interaction:** None. - **Scope:** Changed — The attacker leverages LXD's privileged network position to probe and interact with internal services that are outside the attacker's direct network access and outside the scope of LXD's image management authorization. - **Confidentiality Impact:** Low — Error messages reveal internal port states (open/closed/filtered) and service availability. Response bodies from internal services are NOT returned to the attacker (hash validation blocks content exfiltration). - **Integrity Impact:** None — No demonstrated ability to modify data on internal services. - **Availability Impact:** None — No meaningful resource exhaustion or denial of service. ## Affected Component - `lxd/images.go` — `imgPostURLInfo` (lines 668–755) — Makes HEAD request to user-supplied URL without any SSRF protections. - `lxd/util/http.go` — `HTTPClient` (lines 102–147) — Creates HTTP client with no IP blocking or URL validation. - `shared/network.go` — `RFC3493Dialer` (lines 20–49) — Dials arbitrary hosts including private/loopback ranges. - `lxd/daemon_images.go` — `ImageDownload` (lines 478–510, "direct" case) — Makes GET request to URL from
Properties
- Severity
- medium
- Summary
- LXD: SSRF via image import from URL allows internal network probing by authenticated users
- Epss score
- 0.00278
- Cvss score
- 5
- Retrieved at
- 2026-11-07T06:44:44+00:00
- Ghsa published
- 2026-11-06T18:29:18Z
- Source url
- https://github.com/advisories/GHSA-3gq2-x4qg-p4g6
- Ghsa updated
- 2026-11-06T18:29:19Z
- Ghsa id
- GHSA-3gq2-x4qg-p4g6
- Last source
- FIRST EPSS
- Cve id
- CVE-2026-28385
- Cvss vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
- First seen by Signal
- 2026-11-06T18:33:53+00:00
- Name
- CVE-2026-28385
- Is ghsa only
- false
- Epss percentile
- 0.20304
Related Entities (3)
AFFECTS (1)
HAS_WEAKNESS (1)
VULNERABLE_TO (1)
Explore deeper with Ninja Signal's threat intelligence graph