Description
capgo.app is an over-the-air update platform for Capacitor apps. In all versions prior to a fix, the row-level security UPDATE policy on the public.orgs table permits an organization admin (a user holding org.update_settings) to update the entire row, including the internal billing pointer column customer_id. The official organization update endpoint (supabase/functions/_backend/public/organization/put.ts) allowlists only a small set of editable settings fields and excludes customer_id, and the private Stripe billing route separately requires the org.update_billing permission. By sending an update directly to Supabase PostgREST, an authenticated org admin without org.update_billing can null or corrupt the organization's Stripe customer pointer, causing plan and billing checks that trust orgs.customer_id to fail and moving the organization from a valid paid plan state to unpaid/no-plan behavior. At the time of the advisory no patched version was available.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Cap-go | capgo.app | — | — |
References
- GitHub Security Advisory (GHSA-qp5h-v7x3-53cq) vendor-advisory
- VulnCheck Advisory: capgo.app Authentication Bypass via PostgREST customer_id Mutation third-party-advisory