Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L/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 Supabase RPC (AV:N), trivial call (AC:L), any authenticated/anon role suffices (PR:L), no UI; integrity high (billing manipulation across tenants), confidentiality/availability low.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Capgo before 12.128.2 contains a potential privilege escalation vulnerability in the public.apply_usage_overage SECURITY DEFINER function, which performs sensitive billing operations without enforcing internal authorization checks (no validation of auth.uid(), org membership, or check_min_rights). Because the function runs with the owner's privileges, it bypasses Row Level Security. If EXECUTE permission is available to the authenticated or anon roles (explicitly or via default privileges), an authenticated user could invoke it via Supabase RPC to manipulate billing data for arbitrary organizations, including unauthorized credit depletion and fraudulent overage event insertion.
AnalysisAI
Privilege escalation in Capgo before 12.128.2 allows authenticated Supabase users to manipulate billing data for arbitrary organizations by invoking the public.apply_usage_overage SECURITY DEFINER function via RPC. The function executes with owner privileges and skips auth.uid(), org membership, and check_min_rights validation, bypassing Row Level Security and enabling fraudulent overage insertion or credit depletion across tenants. No public exploit identified at time of analysis, but vendor and VulnCheck have published advisories and a patched release.
Technical ContextAI
Capgo is a self-hostable live-update / OTA delivery platform for Capacitor mobile apps that uses Supabase (PostgreSQL + PostgREST) as its backend. The flaw lives in a PostgreSQL SECURITY DEFINER function (public.apply_usage_overage) - a construct that executes with the privileges of the function's owner rather than the caller, which is precisely what defeats Supabase Row Level Security if the function does not re-implement its own authorization. Per the affected CPE cpe:2.3:a:capgo:capgo:*:*:*:*:*:*:*:*, all Capgo versions prior to 12.128.2 are affected. The root cause maps to CWE-269 (Improper Privilege Management): the definer-rights function trusts its caller and the PostgREST/RPC exposure path instead of validating auth.uid(), organization membership, or minimum-rights checks before mutating billing state.
RemediationAI
Vendor-released patch: upgrade Capgo to 12.128.2 or later, which adds internal authorization checks to apply_usage_overage; the fix is described in the Capgo GHSA-qq85-vjrq-m75g advisory. As an immediate compensating control for operators who cannot upgrade right away, revoke EXECUTE on public.apply_usage_overage(...) from the anon and authenticated roles (and from PUBLIC) in the Supabase database - this breaks any application code path that legitimately calls the RPC from the client, so call sites should be moved server-side or wrapped in a vetted RPC. Alternatively, redefine the function as SECURITY INVOKER (which restores Row Level Security enforcement but will break it unless billing tables grant the caller appropriate access) or add an explicit guard at the top of the function that calls check_min_rights and validates auth.uid() against organization membership before mutating billing rows. Audit billing tables (overage events, credit balances) for anomalous cross-organization writes prior to the upgrade window.
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-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38166
GHSA-7vcj-gm5g-5g9p