CVE-2026-56235: Cap-go Unauthenticated Authorization Bypass Exposes Cross-Tenant Metrics
Cap-go capgo versions before 12.128.2 expose a flaw where three database query functions (get_app_metrics, get_global_metrics, get_total_metrics) can be called by anyone without authentication. An attacker only needs Cap-go's public API key to request usage data for any organization, including ones they don't belong to. This allows leaking how many users each org has, bandwidth consumption, app installation counts, and which apps belong to a target organization. Additionally, an attacker can determine whether a specific organization exists in the system.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Weaknesses (CWE)
- CWE-200
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-20 / 2026-06-24
NVD description (verbatim)
Cap-go capgo before 12.128.2 contains an authorization bypass in several Supabase PostgREST RPC functions (get_app_metrics, get_global_metrics, get_total_metrics) that are granted to the anon role without enforcing org membership or permission checks. An unauthenticated attacker using only the public Supabase API key (sb_publishable_*) can query arbitrary org_id values to disclose cross-tenant usage telemetry (MAU, bandwidth, installs, gets), enumerate app IDs for a target org, and determine org existence via an oracle (valid org returns metrics, invalid returns []).
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from improper authorization checks in Cap-go's Supabase PostgREST RPC function layer. Three metric-reporting functions are granted to the anon (unauthenticated) role without validating that the caller's organization matches the queried org_id parameter. Because Supabase's public API key (sb_publishable_*) is intentionally distributed in client applications, any network client can invoke these functions with arbitrary org_id values. The functions return detailed telemetry arrays when a valid org_id is queried and empty arrays for invalid ones, creating an oracle for org enumeration. No authentication token or private key is required.
Business impact
Cross-tenant telemetry leakage enables competitive intelligence gathering and reconnaissance. Attackers can profile organization sizes, growth rates, and feature adoption by monitoring metrics over time. Enumeration of app IDs and org existence checks facilitate targeted attacks against specific customers. For Cap-go's platform, this undermines SaaS security isolation guarantees and may trigger breach notification or compliance reporting obligations if customer usage patterns are considered sensitive data under regulations like GDPR.
Affected systems
Cap-go versions before 12.128.2 are affected. The vulnerability is specific to Cap-go's Supabase-backed telemetry endpoints and affects all deployments relying on these metric RPC functions, including self-hosted instances using the same backend schema and API configuration.
Exploitability
Exploitability is straightforward. An attacker requires only the public API key (which appears in Cap-go client-side code), network access to Cap-go's Supabase instance, and knowledge that metric functions exist. No authentication, privilege escalation, or user interaction is required. Automated enumeration of all valid org IDs and metric queries is trivial, making large-scale reconnaissance practical.
Remediation
Upgrade to Cap-go version 12.128.2 or later, which should implement proper authorization checks verifying that the caller's org membership or permission level matches the queried org_id. Verify that patch release notes explicitly confirm the addition of these checks. For defense-in-depth, review Supabase RLS (Row Level Security) policies to ensure metric tables enforce org isolation at the database level, independent of application logic.
Patch guidance
Apply the Cap-go 12.128.2 update immediately, as the fix directly addresses the authorization bypass. Confirm the update is deployed across all production and staging environments. After patching, test that unauthenticated or cross-org requests to metric endpoints are rejected. Review your Supabase audit logs for the publication date (2026-06-20) forward to identify whether unauthorized metric queries occurred; cross-reference accessed org_ids against your customer roster.
Detection guidance
In Supabase audit logs, search for calls to get_app_metrics, get_global_metrics, or get_total_metrics from the anon role or without an authenticated user context. Identify requests with org_id parameters that do not match the request origin or JWT claims. Implement alerting on metric function calls with mismatched org_id and authentication identity. Check Cap-go application logs for metric queries with suspicious org_id patterns (e.g., sequential enumeration, requests from external IPs).
Why prioritize this
Although the CVSS score is medium (5.3), the vulnerability should be prioritized as high operational risk because it enables direct, unauthenticated access to business-sensitive telemetry across all organizations on the platform. The reconnaissance capability—org existence detection, app enumeration, and usage profiling—poses significant customer trust and competitive harm. Exploitation requires no sophistication and leaves minimal forensic traces. Affected organizations should patch within 48 hours.
Risk score, explained
CVSS 5.3 reflects a network-accessible information disclosure with no authentication requirement and low complexity (AV:N/AC:L/PR:N). Severity is capped at medium because the vulnerability does not enable data modification, availability impact, or privilege escalation. However, the practical risk is elevated by the breadth of affected data (all orgs), ease of exploitation, and competitive sensitivity of the leaked telemetry. The absence of KEV listing (as of the modification date) does not reduce risk—this may reflect low current exploit prevalence rather than low severity.
Frequently asked questions
Can I tell if my organization's metrics were leaked before I patch?
Yes. Request your Cap-go provider or platform operator to audit Supabase logs for metric function calls from the anon role or unauthenticated sessions between 2026-06-20 and your patch date, filtering for your org_id. If unauthorized queries are found, treat your usage metrics and app inventory as potentially exposed.
Do I need to rotate my public API key after patching?
Public API keys are inherently shareable; rotating them is not necessary for this vulnerability. However, do rotate the key if you suspect it was used for unauthorized reconnaissance, or if your incident response policy mandates key rotation following data exposure incidents.
What if I'm self-hosting Cap-go—does this affect me?
Yes, if your self-hosted instance uses the same Supabase schema and RPC functions without additional authorization layer customization. Apply the patch and verify your Supabase RLS policies enforce org isolation independently of application-level checks.
Is there a workaround if I can't patch immediately?
Restrict network access to the Supabase PostgREST endpoint to trusted IP ranges, or disable the metric RPC functions at the Supabase RLS level until you patch. Both are temporary measures; patching should be prioritized.
This analysis is based on the CVE record published 2026-06-20 and modified 2026-06-24. Specific patch content, vendor advisory details, and affected product build numbers should be verified directly with Cap-go's official security advisories. SEC.co does not provide guarantee of exploit code availability, active exploitation prevalence, or completeness of the vulnerability scope. Consult your Cap-go provider for environment-specific impact assessment and confirmation of patch applicability to your deployment. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2026-10254MEDIUMUnauthenticated Information Disclosure in SourceCodester Pet Grooming Software
- CVE-2026-10854MEDIUMMISP Galaxy Visibility Control Bypass – Unauthorized Private Metadata Access
- CVE-2026-10864MEDIUMMISP Dashboard Widget Field Filtering Bypass (Medium)
- CVE-2026-11162MEDIUMChrome CSS Cross-Origin Data Leak Vulnerability
- CVE-2026-11168MEDIUMChrome Extension Memory Disclosure Vulnerability
- CVE-2026-11180MEDIUMChrome SVG Cross-Origin Data Leak – Patch & Mitigation Guide
- CVE-2026-11182MEDIUMChrome SVG Cross-Origin Data Leak Vulnerability
- CVE-2026-11203MEDIUMChrome GPU Isolation Bypass on macOS Allows Cross-Origin Data Leak