Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain org_member account in target organization
-
DeliverySend crafted authenticated POST to /private/invite_new_user_to_org specifying org_admin role
-
ExploitvalidateInvite() skips caller-rank check and accepts elevated invitation
-
ExecutionAccept invitation from attacker-controlled external email via /private/accept_invitation
-
PersistensureOrgMembership applies binding using service-role key, bypassing DB triggers
-
ImpactAttacker-controlled account holds org_admin privileges over all org assets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
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 | Exploitation requires the attacker to hold an existing authenticated org_member account (or any account with the |
| Impact | The CVSS 4.0 score of 8.6 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N) accurately reflects severity: any authenticated org_member can escalate a controlled external account to org_admin over the network with no special configuration or complexity. The dual failure - missing rank check at the application layer and service-role key bypass at the database layer - nullifies both defensive tiers simultaneously, making the flaw particularly clean to exploit. EPSS data is absent from the available intelligence, so quantitative exploitation probability cannot be assessed. KEV status is negative and no public proof-of-concept has been identified, which moderates urgency but should not be relied upon given the straightforward exploitation path. Real-world risk is highest for capgo organizations that grant |
| Exploit ScenarioDerived | An attacker who has obtained a legitimate org_member account (e.g., via a normal invitation to join a project) sends a crafted authenticated POST to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 10, 2026
Privilege escalation in capgo.app (npm package capgo ≤ 12.207.1) allows an authenticated org_member to promote an external account to org_admin or org_billing_admin by exploiting a missing role-rank comparison in the validateInvite() function of the invite-new-user Edge Function. The invitation-acceptance path compounds the issue by using the Supabase service-role key, which bypasses two dedicated database triggers designed to enforce privilege boundaries, resulting in full administrative control over the organization's apps, channels, members, and billing. No public exploit is identified at time of analysis; an upstream fix is available via PR #3096.
RemediationAI
Upgrade to the first capgo.app release that incorporates pull request #3096, which introduces a caller-rank comparison in validateInvite() before permitting any elevated-role invitation. An exact patched release version is not stated in available references beyond the PR, so operators should monitor the GitHub Security Advisory (https://github.com/Cap-go/capgo.app/security/advisories/GHSA-7g7p-fxx8-4wm8) and the VulnCheck advisory (https://www.vulncheck.com/advisories/capgo-app-through-12.207.1-privilege-escalation-via-invite-new-user-to-org) for a confirmed version tag. As an immediate compensating control, restrict the org.invite_user permission exclusively to fully trusted administrators - removing it from org_member and contractor-level roles - which eliminates the prerequisite needed to trigger the vulnerable endpoint. Additionally, audit all existing org_admin and org_billing_admin accounts for unexpected or recently added members that may have been created via this escalation path.
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
capgo.app is a Capacitor/Ionic live-update platform whose backend is implemented as Supabase Edge Functions (Deno/Node.js runtime). The vulnerable code resides in supabase/functions/_backend/private/invite_new_user_to_org.ts. The validateInvite() function enforces permission checks (e.g., org.invite_user for standard invitations, org.update_user_roles for org_super_admin-level ones) but never compares the inviter's own role rank against the role rank being requested - the root cause classified as CWE-269 (Improper Privilege Management). A second, compounding weakness exists in the invitation-acceptance flow: ensureOrgMembership in POST /private/accept_invitation applies the role binding using the Supabase service-role key, which operates outside row-level security and bypasses both the prevent_role_binding_priority_escalation and check_org_user_privileges database triggers that would otherwise reject the out-of-rank assignment. CPE: cpe:2.3:a:cap-go:capgo.app:*:*:*:*:*:*:*:*.
Know when Cap Go 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:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Requires org_member authentication (PR:L) over the network; attacker controls both accounts so no third-party interaction is needed; no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
capgo.app (npm package capgo) through version 12.207.1 does not compare the caller's role rank against the requested role in the validateInvite() function of supabase/functions/_backend/private/invite_new_user_to_org.ts. The POST /private/invite_new_user_to_org endpoint only requires the org.update_user_roles permission for org_super_admin invitations, so an authenticated user holding only the org.invite_user permission (e.g., an org_member) can invite an external user as org_admin or org_billing_admin. When the invited account accepts the invitation via POST /private/accept_invitation, ensureOrgMembership creates the role binding using the Supabase service-role key, which bypasses the prevent_role_binding_priority_escalation and check_org_user_privileges database triggers. This allows privilege escalation resulting in full administrative control over the organization's apps, channels, members, and billing. The issue is addressed by pull request #3096, which compares the inviter's rank before permitting elevated invitations.
Technical POC Analysis
CWE-269 (Improper Privilege Management) - a missing authorization binding between the requested role and the caller's own role rank.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Capgo platform users face unauthorized privilege escalation risks, allowing team members to seize admin or billing administrator access over their organization. This creates direct threats to billing control, application deployment integrity, and organizational governance-enabling fraud, configuration tampering, and loss of operational oversight.
No vendor-released patch identified at time of analysis. Interim mitigations: audit and review all admin role promotions and pending invitations for suspicious patterns; restrict invitation privileges to org_admin accounts only; implement monitoring and alerting on admin and billing-admin role elevation events; disable or restrict capgo service-role key usage where possible until patch availability.
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.
Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a
Improper access control in Capgo (capgo.app) lets any holder of an ordinary full API key forge a trusted SSO provider by
Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering
Authorization bypass in Capgo (capgo.app), a live-update/OTA platform for Capacitor mobile apps, allows a de-provisioned
Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing
Unauthenticated denial of service in Cap-go capgo (capgo-backend) before 12.128.12 allows remote attackers to exhaust Po
Unauthenticated retrieval of deleted over-the-air update bundles from capgo.app through version 12.129.0 is possible via
Capgo's direct exposure of the public.org_users table through Supabase PostgREST lets an authenticated user who already
Authenticated principals who hold an app-scoped upload/write/all API key with upload+ rights - or any user granted write
Cross-tenant metadata modification in Capgo before 12.244.1 allows an authenticated attacker to alter image object metad
Privilege escalation in the Capgo (capgo.app) backend through version 12.242.4 allows an authenticated API key holder to
Privilege escalation in Capgo (capgo.app) before 12.267.1 allows a principal holding the apikey_manager role to rotate a
EUVD-2026-75413
GHSA-9758-4f33-587j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB