Arcane: Unauthenticated reflected XSS via SVG color parameter in /api/app-images/logo enables admin account takeover
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Arcane is an interface for managing Docker containers, images, networks, and volumes. Prior to 1.19.0, the unauthenticated GET /api/app-images/logo endpoint reflects a user-supplied color query parameter into the body of an SVG document via strings.ReplaceAll with no escaping. The substitution lands inside a <style> element of the embedded logo.svg, allowing an attacker to close the style block and inject executable <script> content. Because the response is served as image/svg+xml and Arcane sets no Content-Security-Policy or X-Content-Type-Options headers, navigating a logged-in admin victim to a crafted URL executes attacker-controlled JavaScript in Arcane's origin and rides the victim's HttpOnly JWT cookie to fully compromise the admin account. This vulnerability is fixed in 1.19.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| getarcaneapp | arcane | before 1.19.0 | 1.19.0 | Patch available | CNA |
| — | github.com/getarcaneapp/arcane/backend (Go) | before 1.19.0 | 1.19.0 | Patch available | GHSA-q2pj-8v84-9mh5 |
- arcane Vendorgetarcaneapp Affected before 1.19.0 Fixed in 1.19.0 Patch available CNA
- github.com/getarcaneapp/arcane/backend (Go) Vendor— Affected before 1.19.0 Fixed in 1.19.0 Patch available GHSA-q2pj-8v84-9mh5
Remediation
- Fix · CNA arcane (getarcaneapp) Fixed in 1.19.0
- Fix · GHSA-q2pj-8v84-9mh5 github.com/getarcaneapp/arcane/backend (Go) Fixed in 1.19.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45627
- 2026-10-03 Alias added: GHSA-q2pj-8v84-9mh5
References
More getarcaneapp vulnerabilities
- TI-2026-33369 Missing authorization in getarcaneapp arcane CVSS 3.1CRITICAL 9.9
- TI-2026-75557 Arcane users with delegated permission can take over admin accounts CVSS 3.1HIGH 8.8
- TI-2026-34717 Arcane: Missing admin authorization on global variables endpoint CVSS 3.1HIGH 8.8
- TI-2026-75556 Credential exfiltration in Arcane via registry URL repointing CVSS 3.1HIGH 8.5
- TI-2026-34768 Arcane: Authenticated Arbitrary Host File Read via Docker Compose Include Directives in Arcane CVSS 3.1HIGH 7.7
- TI-2026-58913 Arcane before 2.0.0 Missing Administrator Authorization on the Compose Template Mutation Endpoints CVSS 4.0HIGH 7.1
Sources
- CVE-2026-45627 · CVE Program
- CVE-2026-45627 · NVD
- FIRST EPSS
- GHSA-q2pj-8v84-9mh5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences