Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as org_admin (rank 90)
-
DeliverySend PATCH to /private/role_bindings/:binding_id
-
ExploitBypass missing current-role rank check
-
ExecutionDemote org_super_admin binding to lower role
-
PersistRepeat across all super_admins
-
ImpactOrganization left with no super administrator
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated principal holding the org_admin role (priority rank 90) within a Capgo organization, and the target organization must contain one or more org_super_admin (rank 95) role bindings to demote. Exploitation is performed via the PATCH /private/role_bindings/:binding_id endpoint of @capgo/backend versions before 12.127.5. It works against default configurations (the missing current-role rank check and the DELETE-only prevent_last_super_admin_binding_delete trigger are inherent behavior), needs no user interaction, but is limited to the attacker's own organization scope and by the high privilege prerequisite - this is a privileged-insider governance/integrity issue, not a remote unauthenticated compromise. |
| Impact | This is a genuine but bounded authorization defect (CWE-863) whose real-world priority is moderate, not critical. The vendor CVSS 4.0 base of 7.0 (AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:L) is internally consistent: the flaw is network-reachable and low-complexity, but gated behind PR:H because the attacker must already hold the administrative org_admin role, and it produces no confidentiality loss (VC:N) - only integrity impact on role-binding state (VI:H) and a loss of super-admin governance availability (VA:L). No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no signal of active or automatable exploitation. The dominant limiting factor is the PR:H prerequisite: the actor is already a trusted, high-privilege org administrator, so this is best characterized as a trust-boundary/governance-control weakness (a privileged insider can strip the organization of its super administrators) rather than an externally weaponizable escalation. No conflicting signals were found; the CVSS vector aligns with the description (authenticated, network API endpoint, integrity-focused impact). |
| Exploit ScenarioDerived | An authenticated Capgo user holding the org_admin role (rank 90) sends a PATCH request to /private/role_bindings/:binding_id targeting an org_super_admin binding (rank 95), changing it to a lower-privileged role such as org_member (rank 75); because the handler only validates the incoming role's rank and never the currently-bound role's rank, the demotion succeeds. Repeating this against every super_admin binding leaves the organization with no super administrator, since the last-super-admin protection trigger fires only on DELETE, not UPDATE. No public exploit code was identified, and exploitation requires the attacker to already possess org_admin privileges. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Privilege escalation in the Capgo Backend npm package (@capgo/backend) before 12.127.5 allows an authenticated attacker who already holds the org_admin role (priority rank 90) to demote org_super_admin role bindings (rank 95) down to a lower-privileged role such as org_member (rank 75) through the PATCH /private/role_bindings/:binding_id endpoint. Because the handler fails to verify the rank of the role currently bound to the target - and the prevent_last_super_admin_binding_delete safeguard fires only BEFORE DELETE, not on UPDATE - the attacker can strip every super administrator from the organization, leaving it without a super admin and enabling further governance/integrity abuse. Authentication with high privileges is required (CVSS vector PR:H), scope is limited to the attacker's own organization, and no public exploit has been identified at time of analysis; this is a bounded privileged-insider authorization defect rather than a remote unauthenticated compromise.
RemediationAI
Vendor-released patch: upgrade the @capgo/backend npm package to version 12.127.5 or later, which adds the missing check on the rank of the role currently bound to the target in the PATCH /private/role_bindings/:binding_id handler and closes the gap that allowed org_admins to demote org_super_admin bindings; the fix is documented in the GitHub advisory GHSA-54mj-q77q-xwx5. If an immediate upgrade is not possible, compensating controls include restricting the org_admin role to the smallest possible set of trusted operators (since exploitation requires that role), monitoring and alerting on PATCH requests to /private/role_bindings/:binding_id that lower an org_super_admin binding, and reconciling role-binding state against an external source of truth - though each of these is detective and policy-based and none restores the guarantee that at least one super admin binding survives, which is why patching to 12.127.5 remains the primary remedy. Operators should also verify after remediation that each organization retains at least one org_super_admin binding, since exploitation may already have removed them, and extend the database-level safeguard so it fires on UPDATE as well as DELETE, recognizing that adding an UPDATE trigger can affect any legitimate role-binding update and must be tested against normal administrative workflows before deployment.
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
The flaw is an incorrect authorization issue (CWE-863) in a Node.js backend service, specifically in the HTTP PATCH handler for /private/role_bindings/:binding_id in @capgo/backend. Capgo models organization roles with numeric priority ranks (org_member 75, org_admin 90, org_super_admin 95), and the PATCH handler enforces that the newly assigned role's rank does not exceed the caller's own rank. However, unlike the corresponding DELETE handler, it never inspects or validates the rank of the role currently bound to the target binding. That missing check means an org_admin can rewrite a higher-ranked binding down to any lower rank they are permitted to assign. The intended backstop against orphaning an organization's administration - a database trigger named prevent_last_super_admin_binding_delete - only executes on DELETE statements and is never triggered by UPDATE, so the update path silently circumvents a control that was designed to guarantee at least one super admin binding persists. The CVSS 3.1 assessment (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L) and the CVSS 4.0 vector both reflect a network-reachable, high-privilege, no-interaction integrity attack with limited availability impact and no confidentiality impact, confined to a single security scope. The underlying technology is the Capgo backend service distributed as the @capgo/backend npm package, tracked by CPE cpe:2.3:a:capgo:backend:*:*:*:*:*:*:*:*.
Know when Capgo 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
org_admin is an administrative-tier role so PR:H; the API is network-reachable with no interaction; unauthorized role modification is I:H, loss of super-admin governance is A:L, and no data is read so C:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Capgo (npm package @capgo/backend) before 12.127.5 contains an authorization flaw in the PATCH /private/role_bindings/:binding_id endpoint. The handler verifies that the newly assigned role's priority rank does not exceed the caller's own rank, but - unlike the DELETE handler - it never checks the rank of the role currently bound to the target binding. An authenticated user holding the org_admin role (rank 90) can therefore change an org_super_admin binding (rank 95) to a lower-privileged role such as org_member (rank 75). Because the prevent_last_super_admin_binding_delete database trigger fires only BEFORE DELETE and not on UPDATE, an org_admin can demote every org_super_admin, leaving the organization with no super administrator. The issue is fixed in 12.127.5.
Technical POC Analysis
Note on the record: the supplied advisory (GHSA-54mj-q77q-xwx5) rates this Moderate and states "No known CVE"; the CVE-2026-100629 / HIGH 7.0 identifiers come from the task header, not the advisory t…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
The Capgo Backend npm package (@capgo/backend) before 12.127.5 contains a high-severity authorization flaw that lets an authenticated org_admin demote or remove all org_super_admin role bindings from their organization. This is a bounded privileged-insider and governance risk-no public exploit identified at time of analysis-but it can leave an organization without super-admin oversight and enable further integrity abuse. Leadership should care because affected organizations may need emergency role restoration and tighter privileged-access governance.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting org_admin role assignments, enforcing API gateway or middleware rank checks to block demotion of org_super_admin bindings, monitoring and alerting on PATCH /private/role_bindings/:binding_id changes, and maintaining documented break-glass super-admin recovery and audit procedures.
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
Cross-domain SSO account takeover in Capgo before 12.128.2 allows an attacker with enterprise org admin access and a mal
Authentication bypass in Capgo before 12.128.2 lets remote unauthenticated attackers mint arbitrary API keys by tamperin
Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a
Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering
Rate-limit bypass in Capgo versions prior to 12.128.2 lets remote unauthenticated attackers flood the channel_self endpo
Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing
Server-side privilege escalation in Capgo before 12.128.2 lets authenticated users holding build permissions abuse a pat
Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers query the /functions/v1/channel_se
Account takeover in Capgo before 12.128.2 stems from a password-change endpoint that omits current-password validation (
Information disclosure in Capgo (Capacitor live-update/OTA platform) before 12.128.2 lets unauthenticated callers abuse
Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers read organization RBAC role bindin
Cross-tenant authorization bypass in Capgo before 12.128.2 lets authenticated users impersonate another tenant's limited
EUVD-2026-87723
GHSA-56rm-j3fv-2h9m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB