Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Unauthenticated network request to /updates with no user interaction; confidentiality-only leak of private channel metadata, no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Capgo before 12.128.2 contains an information disclosure vulnerability in the unauthenticated /updates endpoint that resolves the defaultChannel parameter before enforcing privacy restrictions, allowing attackers to enumerate private channels and leak version/config state. Unauthenticated attackers can probe private channel names and distinguish valid channels from nonexistent ones based on response differences, revealing assigned bundle versions and platform-specific configuration details.
AnalysisAI
Information disclosure in Capgo before 12.128.2 allows unauthenticated remote attackers to enumerate private update channels via the /updates endpoint, because the defaultChannel parameter is resolved before privacy restrictions are enforced. Response differences let attackers distinguish valid private channels from nonexistent ones and harvest assigned bundle versions plus platform-specific configuration state. No public exploit identified at time of analysis, though VulnCheck has published an advisory describing the technique.
Technical ContextAI
Capgo is a self-hostable live-update and over-the-air (OTA) bundle delivery service for Capacitor mobile apps, used to ship JavaScript/HTML bundles to deployed iOS and Android applications without going through app stores. The vulnerable component is the unauthenticated /updates HTTP endpoint (CPE cpe:2.3:a:capgo:capgo) which mobile clients normally call to check for new bundle versions. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the request handler dereferences the caller-supplied defaultChannel parameter and queries channel state before applying the access-control check that would normally hide private channels, producing observable differences (status codes, payload fields, version numbers) between existing private channels and nonexistent ones - a classic authorization-after-resolution ordering bug enabling an oracle.
RemediationAI
Vendor-released patch: upgrade Capgo to 12.128.2 or later, which reorders the /updates handler to enforce privacy restrictions on the defaultChannel parameter before resolving channel metadata, per the GHSA-pgmr-gw53-7f77 advisory. If immediate upgrade is not possible, place the /updates endpoint behind a reverse proxy or WAF rule that rejects requests supplying a defaultChannel value not on an allowlist of public channel names, accepting the trade-off that legitimate clients targeting newly added public channels will be blocked until the allowlist is updated; alternatively restrict the endpoint to known mobile-client source IP ranges where feasible, recognizing that this breaks general consumer app deployments. Rotate any private channel names that encoded secrets or internal project identifiers, since prior probing may already have leaked them, and review access logs for high-cardinality defaultChannel values indicative of enumeration.
Authentication bypass in Capgo before 12.128.2 lets remote unauthenticated attackers mint arbitrary API keys by tamperin
Cross-domain SSO account takeover in Capgo before 12.128.2 allows an attacker with enterprise org admin access and a mal
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
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38438
GHSA-53rj-6v76-ccwp