Arcane Admin Account Takeover via Improper Authorization
An authorization flaw in the Arcane user management API allows users with the 'users:update' permission to overwrite administrative credentials and hijack global administrator accounts.
CVE search metadata
CVE search record: CVE-2026-96627. Severity: high. CVSS: 8.8. KEV: no. Product: Arcane (<= 2.5.0). Brief: Arcane Admin Account Takeover via Improper Authorization. Brief link: https://feed.craftedsignal.io/briefs/2026-10-arcane-admin-takeover/
Arcane versions 2.5.0 and earlier contain a critical authorization vulnerability within the UpdateUser API handler. The application permits users assigned the delegated users:update permission to update the PasswordHash of any target user, including global administrators. The vulnerability arises because the backend logic in backend/api/handlers/users.go and user_service.go lacks a privilege-hierarchy check, performing an unconditional tx.Save operation on the user model provided in the request body. While Arcane implements RequireGlobalAdmin guards for administrative tasks like role creation, the user management endpoint fails to enforce the separation between standard account profile maintenance and privileged administrative actions. This allows an attacker to reset the administrator's password, authenticate as the admin, and achieve full control over the application environment.
Attack Chain
- An administrator creates a custom role for a user, granting them the
users:updatepermission for legitimate profile management tasks. - The attacker, possessing this
users:updatepermission, authenticates to the application using their own account. - The attacker identifies the
adminIdfor the global administrator account. - The attacker sends a
PUTrequest to/users/{adminId}with a JSON payload containing a newpasswordfield (e.g.,{"password":"attacker123"}). - The server validates the attacker has the
users:updatepermission but fails to verify if the caller is authorized to modify an administrator's account. - The
UpdateUserhandler updates the administrator'sPasswordHashin the database to the attacker's chosen value. - The attacker authenticates to the application via
POST /auth/loginusing the compromised administrative credentials. - The attacker obtains an administrative session and takes full control of the platform.
Impact
The vulnerability results in complete administrative account takeover, enabling unauthorized access to application data, configuration settings, and user management capabilities. This impact is rated with high confidentiality, integrity, and availability loss. Any user with the delegated users:update role can effectively compromise the entire instance.
Recommendation
- Upgrade the Arcane backend (github.com/getarcaneapp/arcane/backend/v2) to version 2.6.0 or later immediately to patch CVE-2026-96627.
- Conduct an audit of all custom roles and user permissions in the application to ensure that the
users:updatepermission is not granted to untrusted accounts. - Monitor web server logs for suspicious
PUTrequests to the/users/endpoint directed at known administrator accounts. - If patching is not immediately feasible, remove the
users:updatepermission from any non-administrative roles to prevent exploitation.
Immediate actions
Upgrade Arcane backend to v2.6.0 or later
Mitigations
Revoke users:update permission from non-admin roles
CVE-2026-96627