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
Network-reachable PostgREST RPC callable with no authentication or user interaction; only confidentiality is impacted via API key oracle and PII disclosure, so I:N/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Capgo before 12.128.2 contains an unauthenticated security definer RPC function get_identity_apikey_only that returns the owning user_id for supplied API keys, creating an API key validity oracle and user identity disclosure primitive. Attackers can call this endpoint with valid or invalid API keys to confirm key validity and map keys to user identifiers, then chain results into other exposed RPCs like get_orgs_v6 to retrieve organization membership and management email PII.
AnalysisAI
Information disclosure in Capgo before 12.128.2 lets remote unauthenticated attackers abuse the security-definer RPC function get_identity_apikey_only to validate arbitrary API keys and map them to owning user_ids. The endpoint functions as an oracle, and results can be chained into other exposed RPCs such as get_orgs_v6 to enumerate organization membership and harvest management email PII. No public exploit identified at time of analysis, though VulnCheck has publicly documented the technique and a vendor patch is available.
Technical ContextAI
Capgo is an open-source live-update and over-the-air deployment platform for Capacitor mobile apps, backed by a Supabase/PostgREST architecture that exposes Postgres functions as HTTP RPC endpoints. The flaw is rooted in CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the get_identity_apikey_only function was declared SECURITY DEFINER and exposed via PostgREST without an authentication or rate-limiting check, so it executes with the function owner's privileges and returns the user_id associated with any submitted API key. Because the response differs based on key validity and resolves to a stable user identifier, the endpoint becomes both a validity oracle and an identity-mapping primitive, with downstream RPCs like get_orgs_v6 trusting that user_id as authorization context. The affected CPE is cpe:2.3:a:capgo:capgo:*:*:*:*:*:*:*:* in all versions before 12.128.2.
RemediationAI
Upgrade Capgo to 12.128.2 or later, which the vendor confirms as the fix release per advisory GHSA-fhgj-7376-qxwx (https://github.com/Cap-go/capgo/security/advisories/GHSA-fhgj-7376-qxwx). If immediate upgrade is not feasible, revoke and rotate all existing Capgo API keys to invalidate any keys that may have been mapped to user_ids, and restrict access to the PostgREST-exposed get_identity_apikey_only and get_orgs_v6 functions either by revoking EXECUTE from the anon/PUBLIC roles in Postgres or by blocking the corresponding /rest/v1/rpc/get_identity_apikey_only and /rest/v1/rpc/get_orgs_v6 paths at an upstream WAF or reverse proxy - note that blocking these endpoints will break any legitimate clients that depend on them, so identify internal callers first. For self-hosted deployments, additionally enforce per-IP rate limiting on the PostgREST endpoint to slow bulk oracle queries while patching, accepting that this only delays rather than prevents disclosure.
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-38167
GHSA-wc33-3x6m-7v3x