Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain account with delegated users:update permission
-
DeliverySend PUT /users/{adminId} with new password
-
ExploitOverwrite global admin password hash
-
ExecutionAuthenticate as global administrator
-
ImpactFull control of Docker management plane
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Privilege assignment review
|
| Exploitation Conditions | Requires an authenticated account that holds the delegated users:update permission - in Arcane this is not held by any built-in non-admin role, so an administrator must first create and assign a custom role (e.g. 'User Manager') containing users:update; this delegation is the key precondition and a realistic limiting factor, since deployments that never delegate users:update are not exploitable. Given that prerequisite, exploitation is remote, needs no user interaction, and requires no additional configuration: the attacker simply issues PUT /users/{adminId} with a password field to overwrite the global administrator's credential (handler backend/api/handlers/users.go:317-323 and user_service.go:174 perform an unconditional Save with no actor-vs-target privilege comparison). Affected in versions <= 2.5.0; fixed in 2.6.0. |
| Impact | This is a genuine high-priority privilege-escalation flaw (CWE-266) rather than an inflated high-CVSS issue. The input CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (8.8) is internally consistent with the description and the source-code evidence: exploitation is network-reachable (AV:N), requires no user interaction (UI:N), is technically trivial (AC:L - two authenticated HTTP requests), and needs only low privilege (PR:L - any account holding the delegated users:update permission). The full C:H/I:H/A:H impact is justified because taking over the global administrator yields complete control of a Docker management plane (containers, images, networks, volumes), effectively control of the host. No EPSS score and no KEV status were provided in the input, so widespread-versus-targeted exploitation cannot be judged from the data. A working proof-of-concept is published in the GHSA advisory, so exploit knowledge is public, but public POC availability is NOT the same as confirmed active exploitation - there is no CISA KEV listing here. The one caveat that tempers raw CVSS: PR:L understates a real precondition - the victim administrator must first have delegated a custom role containing users:update to the attacker, which is not a default state; against a deployment that never delegates that permission, the flaw is not reachable. |
| Exploit ScenarioDerived | An administrator delegates a custom 'User Manager' role carrying the users:update permission to a lower-trust operator, intending it for routine profile management. That operator sends PUT /users/{adminId} with {"password":"attacker123"}, overwriting the global administrator's password hash, then logs in as the admin account and gains full control of the Docker environment. A proof-of-concept with these exact requests is published in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Delegated 'users:update' permission in Arcane (getarcaneapp/arcane) 2.5.0 and earlier allows an authenticated holder of that permission to overwrite the global administrator's password via PUT /users/{adminId} and then authenticate as the admin, achieving complete administrator account takeover. The UpdateUser handler (backend/api/handlers/users.go:317-323) and the underlying user service (user_service.go:174) set the target user's PasswordHash from the request body and Save unconditionally, with no comparison of caller privilege against target privilege, even though users:update is deliberately intended to sit below the RequireGlobalAdmin-gated role assignment and role CRUD operations. Exploitation is remote, requires no user interaction, and needs no extra configuration beyond the precondition that an administrator has created a custom role (e.g. 'User Manager') containing users:update and assigned it to the attacker's account; deployments that never delegate that permission are not exposed, and no public exploit was identified at time of analysis (CVSS 8.8, PR:L).
RemediationAI
Upgrade Arcane to version 2.6.0 or later (vendor-released patch: backend/v2.6.0, per https://github.com/getarcaneapp/arcane/releases/tag/backend/v2.6.0); the fix in PR 3426 / commit 21ea962 adds caller-vs-target privilege ordering so a non-admin caller can neither set another user's password nor modify or delete a global administrator, and the service layer re-enforces the check with ErrInsufficientPrivilege. Until the upgrade, audit custom roles and remove users:update from every non-admin role (role CRUD and user role assignment remain RequireGlobalAdmin-gated, so an administrator can safely do this), which closes the attack path at the cost of disabling delegated profile management for other users; additionally rotate the global administrator password and invalidate sessions if any delegation of users:update ever occurred, since a prior takeover cannot be detected from the API response, and restrict network access to the Arcane API to trusted administrators so unauthenticated or untrusted callers cannot reach PUT /users/{adminId} at all. Note that no compensating control short of removing the delegated permission fully mitigates the flaw, because the vulnerable handler performs the password write before any downstream check.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Arcane is a Go-based management interface for Docker containers, images, networks and volumes, exposed through a Huma-based HTTP API with an authz layer (backend/pkg/authz/permissions.go) that distinguishes a global-administrator role from delegated, org-level permissions. The flaw is rooted in CWE-266 (Incorrect Privilege Assignment): the update path loads the target user by ID, assigns PasswordHash straight from the request body, and persists it via a plain tx.Save in userService.UpdateUser with no actor-vs-target privilege ordering check. The only IsGlobalAdmin guard in the service (user_service.go:345) is the last-admin protection inside DeleteUser, not the update path, and role assignment/role CRUD are correctly gated by RequireGlobalAdmin - which is precisely why users:update is documented as a sub-admin, profile-management capability that holders are never supposed to be able to use against an administrator. CPE cpe:2.3:a:getarcaneapp:arcane:*:*:*:*:*:*:*:* maps to the Arcane backend, with the Go module go/github.com/getarcaneapp/arcane/backend/v2 fixed in 2.6.0. The fix introduces the missing ordering: the handler now rejects a non-admin caller that submits a password for a different user and resolves target permissions to block edits/deletes against global admins, and the service re-enforces the same check via ErrInsufficientPrivilege; UpdateMyProfile was adjusted to pass nil permissions for self-service updates.
Know when Arcane 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:H/I:H/A:H
Network HTTP API (AV:N), trivial two-request exploit (AC:L), requires a delegated users:update account so PR:L not PR:N, no user interaction, and full admin takeover gives C/I/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Arcane is an interface for managing Docker containers, images, networks, and volumes. Prior to 2.6.0, UpdateUser in backend/api/handlers/users.go sets PasswordHash for any target without comparing caller and target privilege. A holder of delegated users:update permission can submit a password change for the global administrator, replace the administrator password, and authenticate as that account, resulting in complete global administrator account takeover. This issue is fixed in version 2.6.0.
Articles & Coverage 1
Technical POC Analysis
CWE-266 (Incorrect Privilege Assignment), with the advisory also mapping CWE-269.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Arcane 2.5.0 and earlier contains a privilege-escalation flaw in which any account holding the delegated 'users:update' permission can overwrite a global administrator's password and then sign in as that administrator, resulting in complete control of the platform and everything it manages. The flaw only affects organizations that have created custom roles (for example a 'User Manager' role) granting users:update, so leadership should prioritize an immediate review of how administrative privileges have been delegated and to whom. No public exploit is currently identified and no vendor patch is available, making interim access controls the primary near-term defense.
No vendor-released patch identified at time of analysis. Interim mitigations: remove users:update from all delegated custom roles so it is held only by global administrators; restrict API exposure to trusted networks or block PUT /users/{adminId} at a reverse proxy or WAF; monitor and alert on user-record and administrator password changes; rotate administrator credentials and invalidate existing admin sessions; audit custom role assignments for unnecessary privilege delegation.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Arcane Docker management tool before 1.13.0 has command injection in lifecycle labels. Container labels are passed to /b
Server-side request forgery in Arcane Docker management interface versions prior to 1.17.3 allows unauthenticated remote
Arcane Docker management interface prior to 1.13.2 has missing authentication, allowing unauthenticated attackers to man
Arcane versions prior to 2.5.0 disclose stored container-registry credentials to an attacker-controlled host: an authent
An authorization bypass in Arcane before 2.11.0 lets anyone holding a valid environment-scoped access token reach admini
EUVD-2026-103178
GHSA-pw5q-rjx4-7f7p
NVD
CVE.org
Exploit-DB