Skip to main content

Capgo CVE-2026-56319

| EUVDEUVD-2026-38125 MEDIUM
Observable Discrepancy (CWE-203)
2026-06-20 VulnCheck GHSA-r945-3x7m-hrjx
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain valid app-limited Capgo API key
  2. Delivery
    Iterate candidate app IDs via GET /statistics/app/:app_id
  3. Exploit
    Distinguish 500 PGRST116 from 401 error responses
  4. Execution
    Identify existing sibling app IDs outside authorized scope
  5. Impact
    Use 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

capgo 0 <12.128.2

Affected Packages

euvd capgo fix: 12.128.2

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Jun 20, 2026 - 17:16 EUVD

DescriptionCVE.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

EPSS Score
0.2%
Top 92% exploitable
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Capgo

View all
CVE-2026-56223 CRITICAL
9.3 Jun 24

Cross-domain SSO account takeover in Capgo before 12.128.2 allows an attacker with enterprise org admin access and a mal

CVE-2026-56237 CRITICAL
9.3 Jun 24

Authentication bypass in Capgo before 12.128.2 lets remote unauthenticated attackers mint arbitrary API keys by tamperin

CVE-2026-56081 CRITICAL
9.3 Jun 19

Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a

CVE-2026-56073 CRITICAL
9.3 Jun 19

Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering

CVE-2026-56324 HIGH
8.8 Jun 22

Rate-limit bypass in Capgo versions prior to 12.128.2 lets remote unauthenticated attackers flood the channel_self endpo

CVE-2026-56245 HIGH
8.8 Jun 24

Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing

CVE-2026-56233 HIGH
8.7 Jun 30

Server-side privilege escalation in Capgo before 12.128.2 lets authenticated users holding build permissions abuse a pat

CVE-2026-56323 HIGH
8.7 Jun 22

Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers query the /functions/v1/channel_se

CVE-2026-56305 HIGH
8.7 Jul 10

Account takeover in Capgo before 12.128.2 stems from a password-change endpoint that omits current-password validation (

CVE-2026-56300 HIGH
8.7 Jun 30

Information disclosure in Capgo (Capacitor live-update/OTA platform) before 12.128.2 lets unauthenticated callers abuse

CVE-2026-56219 HIGH
8.7 Jun 30

Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers read organization RBAC role bindin

CVE-2026-56230 HIGH
8.7 Jun 30

Cross-tenant authorization bypass in Capgo before 12.128.2 lets authenticated users impersonate another tenant's limited

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy