Skip to main content

Capgo CVE-2026-56213

| EUVDEUVD-2026-38099 MEDIUM
Missing Authorization (CWE-862)
2026-06-20 VulnCheck GHSA-5495-g4j9-gjwq
6.9
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/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
vuln.today AI
5.8 MEDIUM

Network RPC with public anon key warrants PR:N; cross-tenant write to another tenant's namespace constitutes a scope change (S:C) with low integrity-only impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jun 20, 2026 - 02:01 EUVD
Analysis Generated
Jun 20, 2026 - 00:46 vuln.today

DescriptionCVE.org

Capgo before 12.128.2 contains an authorization bypass vulnerability in the public.upsert_version_meta SECURITY DEFINER function exposed via PostgREST RPC, allowing unauthenticated attackers to insert arbitrary rows into version_meta for any app_id. Attackers can exploit this by calling the RPC endpoint with a public anon key to poison storage metrics, causing persistent false data in dashboards and triggering incorrect alerts across victim applications.

AnalysisAI

Cross-tenant metrics poisoning in Capgo before 12.128.2 allows unauthenticated remote attackers to insert arbitrary rows into the version_meta table for any tenant's app_id by invoking the PostgREST RPC endpoint using only the public anonymous key. The root cause is a missing authorization check inside a SECURITY DEFINER PostgreSQL function, which executes with elevated definer privileges while accepting caller-supplied app_id values without ownership validation. Although no public exploit code or CISA KEV listing exists at time of analysis, the attack requires no credentials beyond the public anon key - typically embedded in distributed client applications - making the practical barrier to exploitation extremely low despite the moderate CVSS 4.0 score of 6.9.

Technical ContextAI

Capgo is a Capacitor-based live update platform built on a Supabase (PostgreSQL + PostgREST) backend. The vulnerability resides in the PostgreSQL function public.upsert_version_meta, declared with the SECURITY DEFINER attribute, causing it to execute under the definer's database role rather than the calling user's role. PostgREST automatically exposes this function as a REST RPC endpoint accessible via HTTP. CWE-862 (Missing Authorization) is the root cause: the function performs no row-level ownership check to confirm that the caller controls the supplied app_id, enabling any caller - including those presenting only the public anon role - to write arbitrary version_meta entries into another tenant's namespace. The affected product is identified by CPE cpe:2.3:a:capgo:capgo:*:*:*:*:*:*:*:*, covering all versions prior to 12.128.2.

RemediationAI

Upgrade Capgo to version 12.128.2 or later; this is the vendor-released patch confirmed by the GitHub Security Advisory GHSA-g4hx-x8gc-x6rw at https://github.com/Cap-go/capgo/security/advisories/GHSA-g4hx-x8gc-x6rw. If immediate upgrade is not possible, restrict unauthenticated access to the upsert_version_meta RPC endpoint at the PostgREST or API gateway layer - for example, by removing or revoking EXECUTE permission on the function from the anon role in PostgreSQL (REVOKE EXECUTE ON FUNCTION public.upsert_version_meta FROM anon;); note this will break any legitimate unauthenticated version-meta reporting flow and requires testing against Capgo client behavior. Additionally, enabling PostgREST audit logging on RPC calls and alerting on anomalous cross-tenant app_id patterns can support detection of exploitation attempts while a patch window is arranged. The VulnCheck advisory at https://www.vulncheck.com/advisories/capgo-unauthenticated-cross-tenant-metrics-poisoning-via-upsert-version-meta-rpc provides supplementary technical detail.

More in Capgo

View all
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-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-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

Share

CVE-2026-56213 vulnerability details – vuln.today

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