Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker granted channel override then org role revoked
-
DeliveryStale override left active by cleanup bug
-
ExploitLog in with retained account credentials
-
ExecutionInvoke privileged channel action (change OTA version)
-
ImpactPush malicious update to production devices
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 | Exploitation requires that the attacker previously held a channel-specific permission override in Capgo and that this override was NOT removed when their last organization role binding was deleted - the stale override is the exact prerequisite. The attacker must retain a working Capgo account/credentials for the same principal (this is an offboarding/insider-adjacent condition, not anonymous access), and the target must have used per-channel overrides rather than relying solely on base org roles. What limits exploitation: the attacker must have been a prior privileged member with a channel override (a random external attacker cannot trigger it), and organizations that never granted channel overrides, or that fully purge accounts on offboarding, are not exposed. |
| Impact | The provider CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:H, 9.3) rates this critical, but the PR:N (no privileges) metric is questionable: exploitation inherently requires an account that previously held a channel override, so the attacker authenticates as a known former member - this is an authorization escalation for an existing/expired principal, not a truly anonymous remote attack, which argues for PR:L. That nuance lowers the practical exposure somewhat, since a random internet attacker cannot trigger it - it is an insider/offboarding risk. No EPSS score, KEV listing, or public POC is provided, so there is no evidence of active exploitation or automation; the signal here is a credible vendor/VulnCheck advisory rather than observed attacks. The impact is nonetheless serious where it applies: control over production OTA channels means an attacker could ship malicious or broken updates to end-user devices, so any organization that offboards developers/contractors from Capgo should treat stale-override cleanup as a priority, and a mid-sized mobile team using Capgo for production releases should verify that revoked users no longer retain channel access. Overall: genuinely high-impact for affected deployments, but exploitation is gated on prior insider access rather than being broadly wormable. |
| Exploit ScenarioDerived | A contractor is granted a channel override to publish updates to a production OTA channel, then is offboarded and their organization role is deleted. Because Capgo leaves the channel override in place, the former contractor logs in with their still-valid account and pushes a malicious OTA version to production, silently delivering attacker-controlled code to all app users on that channel. No public exploit code is required - the flaw is triggered simply by exercising the retained permission through normal Capgo API/UI actions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 10, 2026
Authorization bypass in Capgo (capgo.app), a live-update/OTA platform for Capacitor mobile apps, allows a de-provisioned user to retain channel-level permissions after their organization RBAC access has been revoked. Because Capgo does not clean up channel permission overrides when a user's last organization role binding is deleted, stale grants remain active - letting the former member perform privileged actions such as pushing or changing production OTA update versions. Reported by VulnCheck (GHSA-qfxq-2ch8-hjg9); no public exploit identified at time of analysis.
RemediationAI
Apply the vendor's server-side fix as described in GitHub Security Advisory GHSA-qfxq-2ch8-hjg9; the advisory does not enumerate an exact fixed release version in the provided data, so this is best characterized as a patch available per vendor advisory rather than a confirmed version number - self-hosted operators should upgrade to the latest Capgo release referenced by the advisory and cloud users should confirm with Capgo that the fix is deployed. As an immediate compensating control, audit existing channel permission overrides and manually revoke any that belong to users who no longer have an active organization role binding (this directly removes the stale grants but requires manual per-channel review). Additionally, when offboarding a user, explicitly delete their channel-specific overrides before or alongside removing their org role, and rotate/limit who can publish to production OTA channels so that a single stale override cannot change a shipped version. Consult the VulnCheck advisory (https://www.vulncheck.com/advisories/capgo-authorization-bypass-via-stale-channel-permission-overrides) for detection guidance.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Capgo is a code-push / over-the-air (OTA) update service for Capacitor-based mobile applications, using a role-based access control (RBAC) model layered with per-channel permission overrides (fine-grained grants that supplement a user's base organization role). The root cause is CWE-863 (Incorrect Authorization): the deprovisioning logic removes a user's organization role binding but fails to cascade that removal to any channel-scoped permission overrides tied to the same user. When the last org role binding is deleted, the code path that should invalidate dependent channel grants does not fire, so authorization checks for those channels still resolve to 'allowed'. The affected component is identified by CPE cpe:2.3:a:cap-go:capgo.app, a cloud/SaaS-delivered application, meaning the flaw lives in Capgo's server-side authorization enforcement rather than in the mobile client.
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:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-exploitable via Capgo API/UI with low complexity, but requires a pre-existing account with a stale override (PR:L); control over production OTA versions yields high C/I/A over the affected channel.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Capgo fails to clean up channel permission overrides when a user's last organization role binding is deleted, leaving stale overrides active. Attackers can retain channel-specific permissions after their base RBAC access has been revoked to perform unauthorized actions like changing production OTA versions.
Technical POC Analysis
CWE-863 Incorrect Authorization in Capgo's Supabase backend.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Capgo, a live-update platform for Capacitor mobile apps, fails to revoke channel-level permissions when users are offboarded, allowing de-provisioned team members to continue deploying production OTA updates after organizational access is revoked. Although no public exploit has been identified at time of analysis, the absence of remediation creates immediate supply-chain risk for any organization using Capgo. No patch is currently available from the vendor.
No vendor-released patch identified at time of analysis. Interim mitigations: Manually audit and explicitly revoke channel permissions for all de-provisioned users at offboarding; implement audit logging and alerting on all OTA push operations to detect deployments by inactive accounts; restrict production channel access to currently active personnel only; require multi-person approval workflow for all production OTA updates; conduct periodic access reviews to identify and purge stale permissions.
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
Affected Products (CPE)CVE.org
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
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
Authenticated administrators on Capgo (capgo.app) can grant channel-scoped permissions to non-member users because the p
EUVD-2026-75410
GHSA-5rmr-6c73-3q3m
NVD
CVE.org
EPSS
Exploit-DB