VYPR
Unrated severityNVD Advisory· Published Jun 20, 2026

Capgo - Unauthenticated Organization Enumeration and Billing Status Disclosure via Supabase RPC

CVE-2026-56214

Description

Capgo before 12.128.2 contains an information disclosure vulnerability in Supabase PostgREST RPC endpoints is_trial_org and is_paying_org that allows unauthenticated attackers to enumerate organizations and disclose billing status using the public sb_publishable key. Attackers can invoke these endpoints to determine organization existence via distinguishable return values and identify paying customers for targeted profiling.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing authorization checks on Supabase PostgREST RPC endpoints is_trial_org and is_paying_org allow unauthenticated callers to enumerate organizations and discover billing status."

Attack vector

An unauthenticated attacker sends POST requests to `/rest/v1/rpc/is_trial_org` and `/rest/v1/rpc/is_paying_org` using the public `sb_publishable_*` API key as both the `apikey` header and Bearer token. The `is_trial_org` endpoint returns an integer (0) for an existing org UUID and `null` for a non-existent org, creating an existence oracle. The `is_paying_org` endpoint returns `true` or `false`, disclosing the organization's billing status. By iterating over candidate org UUIDs, an attacker can enumerate valid organizations and identify paying customers for targeted profiling. [ref_id=1]

Affected code

The Supabase PostgREST RPC endpoints `is_trial_org` and `is_paying_org` (on project `xvwzpoazmxkqosrdewyv`) are the affected code paths. These endpoints do not require authentication and return distinguishable values depending on whether the supplied `org_id` exists or is a paying customer. [ref_id=1]

What the fix does

The advisory [ref_id=1] recommends restricting these RPCs to authenticated contexts with org membership validation, or requiring privileged/service credentials. It also suggests returning uniform responses for invalid or non-member org IDs to eliminate the oracle behavior. The patch (in Capgo version 12.128.2) implements these changes by adding authorization checks, ensuring unauthenticated callers can no longer distinguish between existing and non‑existent orgs or learn billing status.

Preconditions

  • inputAttacker must know or be able to guess candidate org UUIDs
  • configAttacker needs the public sb_publishable API key (exposed to clients)
  • authNo authentication required; endpoints are publicly callable

Generated on Jun 20, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.