HIGH 7.5

CVE-2026-56226: Capgo Unauthenticated User Data Exposure via PostgREST RPC

Capgo before version 12.128.2 contains an authorization flaw in a database function that allows anyone to retrieve sensitive organization and user information without authentication. An attacker can use Capgo's public API key to query arbitrary user IDs and extract membership details, roles, subscription status, and email addresses belonging to other users.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses (CWE)
CWE-200
Affected products
0 configuration(s)
Published / Modified
2026-07-08 / 2026-07-08

NVD description (verbatim)

Capgo (Cap-go/capgo) before 12.128.2 exposes the Supabase PostgREST RPC function public.get_orgs_v6(userid uuid), which is SECURITY DEFINER and granted to the anon role, allowing unauthenticated access. Because the function accepts a caller-supplied user UUID without verifying it matches the authenticated user, an attacker using only the public publishable API key can query POST /rest/v1/rpc/get_orgs_v6 with an arbitrary user UUID to retrieve that user's organization membership, roles, subscription/trial metadata, and management_email (PII).

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability stems from improper exposure of the Supabase PostgREST RPC endpoint public.get_orgs_v6(userid uuid). This function is marked SECURITY DEFINER and granted to the anonymous role, enabling unauthenticated callers to invoke it. The function fails to validate that the requested user UUID matches the authenticated caller, permitting arbitrary user data enumeration via POST /rest/v1/rpc/get_orgs_v6 using only the public publishable API key. The exposed data includes organization membership records, role assignments, subscription and trial metadata, and management email addresses (personally identifiable information).

Business impact

Organizations using Capgo before 12.128.2 face exposure of user directory information and subscription details to any attacker with network access. This enables social engineering, competitive intelligence gathering, and targeted account compromise attempts. The disclosure of management email addresses and subscription status could facilitate phishing campaigns or subscription fraud. For SaaS operators, this leakage undermines customer privacy commitments and may trigger incident notification obligations depending on regulatory scope and data classification policies.

Affected systems

Capgo versions prior to 12.128.2 are affected. The vulnerability is present in the Supabase PostgREST integration layer and affects any deployment where the public.get_orgs_v6 RPC function remains exposed to the anonymous role without proper access controls.

Exploitability

Exploitation requires minimal sophistication: an attacker needs only the public API key (which is intentionally public by design) and knowledge of or ability to enumerate user UUIDs. No authentication, special privileges, or user interaction is necessary. The attack is performed over the network with low complexity, making it easily weaponizable at scale. An attacker can systematically query the endpoint with different UUID values to harvest organization metadata for multiple users.

Remediation

Upgrade Capgo to version 12.128.2 or later, which patches the authorization flaw. Verify against the vendor advisory for any additional configuration changes required. As a temporary mitigation pending upgrade, review Supabase PostgREST policies to restrict the anonymous role's access to the get_orgs_v6 function and implement database-level access controls limiting RPC invocation to authenticated users. Monitor RPC endpoint logs for suspicious patterns of UUID enumeration.

Patch guidance

Update Capgo to 12.128.2 or a later stable release. Review release notes for any breaking changes or post-upgrade validation steps. If you manage a self-hosted Supabase instance alongside Capgo, ensure the PostgREST configuration is synchronized with the patched version to prevent regression. Test in a staging environment before production deployment to confirm the fix does not disrupt legitimate organization lookup workflows.

Detection guidance

Monitor Supabase PostgREST access logs for repeated calls to /rest/v1/rpc/get_orgs_v6 with varying user UUID parameters, particularly from single source IPs or API keys. Alert on requests from unauthenticated sessions or those originating outside expected geographic or network ranges. Review CloudWatch or audit logs for spikes in RPC endpoint invocations that deviate from baseline user behavior. Query database logs for calls to public.get_orgs_v6 executed by the anonymous role; legitimate traffic should be minimal or absent post-patch.

Why prioritize this

This vulnerability merits urgent remediation due to its HIGH CVSS score (7.5), zero authentication requirement, and direct exposure of sensitive business and personal data. The attack is trivial to execute at scale, and the exposed information (email addresses, subscription status) is immediately actionable for follow-on attacks. The lack of KEV (Known Exploited Vulnerability) status does not diminish risk; the simplicity of exploitation means threat actors will quickly weaponize this if not patched across deployments.

Risk score, explained

The CVSS 3.1 score of 7.5 (HIGH) reflects a network-accessible vulnerability with no authentication or user interaction required, resulting in high confidentiality impact. The severity is not CRITICAL because no integrity or availability impact occurs (data is read-only exposure). However, the real-world risk is acute: the information disclosed is sensitive enough to enable downstream account compromise, and the barrier to exploitation is nonexistent. Organizations should treat this as CRITICAL in their internal prioritization frameworks if their user base or subscription details are considered sensitive assets.

Frequently asked questions

Can an attacker learn all user UUIDs without prior knowledge?

If UUIDs are sequential, predictable, or publicly listed elsewhere, yes. However, the more likely attack vector is targeted enumeration of known or guessed UUIDs, combined with directory harvesting. An attacker might derive UUIDs from leaked databases, user directories, or by probing common patterns. The vulnerability does not require prior UUID knowledge to be dangerous—it simply requires the ability to guess or obtain any valid UUID in the system.

Does upgrading to 12.128.2 require any configuration changes?

The patch corrects the underlying authorization flaw, but verify against the vendor advisory for any specific post-upgrade steps. Your security team should test the upgrade in a non-production environment to confirm that legitimate organization queries still function correctly and that no additional policy configuration is required.

Is this vulnerability being actively exploited in the wild?

As of the CVE publication date (2026-07-08), the vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog. However, do not assume this means it is safe to delay patching; the simplicity of exploitation means threat actors can quickly develop attacks once they discover the flaw. Treat the absence of KEV status as a window of opportunity to patch before exploitation becomes widespread.

What if we cannot patch immediately—what interim controls help?

Implement network-level IP whitelisting on the PostgREST endpoint, restrict the anonymous role's database permissions to exclude the get_orgs_v6 function, and enable detailed logging and alerting on RPC calls. These measures are stopgaps only and do not eliminate the vulnerability; prioritize the upgrade to 12.128.2 as soon as safely possible.

This analysis is based on publicly disclosed CVE and vendor information current as of 2026-07-08. Patch version numbers, KEV status, and affected product lists are sourced from the CVE record and should be verified against the vendor's official security advisory and release notes before deployment. This document does not constitute legal advice and does not guarantee protection against all attack variants. Organizations are responsible for assessing their own risk and implementing appropriate controls in their environment. Proof-of-concept code and weaponized exploitation techniques are not provided; this advisory is intended for defensive and remediation purposes only. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).