Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid app-limited Capgo API key
-
DeliveryIterate candidate app IDs via GET /statistics/app/:app_id
-
ExploitDistinguish 500 PGRST116 from 401 error responses
-
ExecutionIdentify existing sibling app IDs outside authorized scope
-
ImpactUse enumerated IDs for targeted reconnaissance or follow-on attacks
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Timing-safe comparisons
|
| Exploitation Conditions | Exploitation requires possession of a valid app-limited Capgo API key - the attack is not possible without authenticated API access (PR:L per CVSS 4.0 vector). The oracle is specific to app-limited keys: such keys receive PGRST116 errors for out-of-scope apps rather than a uniform 401, which is the behavior that leaks app existence. The attacker must be able to reach the Capgo API over the network (AV:N). What limits exploitation: only app ID existence is revealed, not app content, credentials, or user data; the attacker must already be a Capgo platform participant with a legitimately or illicitly obtained API key; and enumeration is constrained to platforms where app IDs follow a guessable or iterable format. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N) accurately characterizes this as a low-complexity, network-reachable flaw with constrained impact. The PR:L metric is the primary mitigating factor: exploitation is gated behind possession of a valid, scoped Capgo API key, limiting the attacker population to legitimate platform users, former employees, or parties who have obtained a leaked key. The confidentiality impact (VC:L) is bounded to app ID enumeration - not app data, credentials, or user records - making this a reconnaissance-grade finding rather than a direct data breach. Neither CISA KEV listing nor public POC code is present in the available intelligence, and no EPSS score was supplied, so there is no signal of active or widespread exploitation. Real-world priority should be elevated in multi-tenant SaaS contexts where knowledge of competitor or sibling app IDs enables targeted follow-on attacks, but for most deployments this is a medium-priority patch rather than an emergency response item. |
| Exploit ScenarioDerived | An attacker with a valid app-limited Capgo API key iterates through numeric or UUID-format app ID candidates against GET /statistics/app/:app_id, recording whether each response is a 500 PGRST116 (app exists, access denied) or a 401 (app nonexistent). After cycling through a sufficient ID space, the attacker produces a verified map of real app IDs belonging to other tenants on the platform. No public exploit code has been identified at time of analysis, but the attack requires only standard HTTP tooling given the fully described oracle mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 22, 2026
Tenant isolation is broken in Capgo's statistics API before version 12.128.2, allowing authenticated holders of app-limited API keys to enumerate app IDs belonging to other tenants across the platform. The GET /statistics/app/:app_id endpoint returns distinct error codes depending on whether a target app exists (500 PGRST116) or is entirely nonexistent (401), creating an oracle that maps real app IDs outside the caller's authorized scope. No public exploit has been identified at time of analysis, and the CVSS 4.0 score of 5.3 reflects the authenticated requirement and limited confidentiality impact.
RemediationAI
Vendor-released patch: upgrade Capgo to version 12.128.2 or later, as documented in the GitHub security advisory GHSA-73p9-mprg-7r75 (https://github.com/Cap-go/capgo/security/advisories/GHSA-73p9-mprg-7r75). If immediate patching is not feasible, operators should audit and rotate app-limited API keys to reduce the pool of principals capable of invoking the vulnerable endpoint, and implement API gateway-level rate limiting on GET /statistics/app/:app_id to slow enumeration attempts - noting that rate limiting alone does not eliminate the oracle, only increases attacker effort. Monitoring API access logs for sequences of alternating 500 and 401 responses from a single API key across a wide range of app IDs can serve as a detection signal. Additional context is available in the VulnCheck advisory at https://www.vulncheck.com/advisories/capgo-app-existence-oracle-via-get-statistics-app-app-id.
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 is a cloud-based live update platform for Capacitor (mobile) applications. The affected endpoint sits atop a PostgREST backend - confirmed by the platform-specific PGRST116 error code, which PostgREST emits when a query returns no rows. When an app-limited API key queries GET /statistics/app/:app_id for an app outside its permitted scope, PostgREST raises a PGRST116 error (surfaced as HTTP 500), whereas a query for a completely nonexistent app ID returns HTTP 401. This behavioral discrepancy is the textbook definition of CWE-203 (Observable Discrepancy): the system inadvertently reveals protected state - app existence - through divergent error channels. The affected CPE is cpe:2.3:a:capgo:capgo:*:*:*:*:*:*:*:* covering all releases prior to 12.128.2.
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:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint (AV:N), app-limited API key required (PR:L), only app ID existence disclosed with no integrity or availability impact (C:L/I:N/A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Capgo before 12.128.2 contains an information disclosure vulnerability in the GET /statistics/app/:app_id endpoint that allows app-limited API keys to distinguish existing sibling app IDs through differential error responses. Attackers can enumerate real app IDs outside their allowed scope by observing 500 PGRST116 errors for inaccessible apps versus 401 errors for nonexistent apps, breaking tenant isolation.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-38125
GHSA-r945-3x7m-hrjx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB