CVE-2026-56082

Capgo - Unauthenticated Cross-Tenant Billing Log Tampering via public.record_build_time RPC

Published Jun 19, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
Capgo (Cap-go/capgo) before 12.128.2 contains an improper access control vulnerability in the SECURITY DEFINER PostgREST RPC function public.record_build_time, which is granted to the anon role and callable with only the public Supabase publishable (sb_publishable_*) anon key. An unauthenticated attacker can insert rows into public.build_logs for arbitrary organizations and, because the function uses ON CONFLICT (build_id, org_id) DO UPDATE, can overwrite existing usage/billing records by reusing the same build_id for a target org. This enables cross-tenant tampering of billing build logs and financial-impact denial of service by inflating billable build time.

Analysis

AI-generated

Technical impact

Capgo (Cap‑go/Capgo) before 12.128.2 implements an insecure PostgREST RPC function, public.record_build_time, that is granted to the anon role and can be invoked with only a public Supabase publishable key. The function allows an unauthenticated attacker to insert rows into the public.build_logs table for any organization, and because the statement uses ON CONFLICT (build_id, org_id) DO UPDATE, the attacker can overwrite existing usage and billing records by reusing a build_id for a target organization. The result is cross‑tenant tampering of billing data with the potential to inflate billable build time, creating a financial‑impact denial of service scenario. The vulnerability is a classic improper access control flaw (CWE‑284).

Affected Systems

The affected product is Capgo (Cap‑go/Capgo) running any version prior to 12.128.2. The vulnerability resides in the public.record_build_time RPC, accessible through the anon role via the Supabase publishable sb_publishable_* key. Deployments that use Capgo’s RPC in a Supabase environment and have not upgraded past 12.128.2 are exposed.

Risk and Exploitability

The CVSS score of 8.7 marks this issue as high severity. While an EPSS score is not available, the lack of authentication and the direct ability to write and overwrite billing log entries make exploitation straightforward once the RPC is reachable. The vulnerability is not listed in CISA’s KEV catalog. An attacker can exploit the flaw by sending an unauthenticated RPC request to public.record_build_time, supplying arbitrary organization identifiers and build IDs to influence the financial records of other tenants.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Capgo to version 12.128.2 or later, which fixes the access control issue.
  • If an immediate update is not feasible, revoke the anon role’s privilege on public.record_build_time or disable the RPC entirely until a patch can be applied.
  • Ensure that only authorized keys or roles can invoke sensitive RPCs and monitor billing tables for anomalous insertions or updates.

Generated by OpenCVE AI on June 19, 2026 at 23:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Cap-go
Cap-go cap-go
Vendors & Products Cap-go
Cap-go cap-go
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title Supabase - Unauthenticated Cross-Tenant Billing Log Tampering via public.record_build_time RPC Capgo - Unauthenticated Cross-Tenant Billing Log Tampering via public.record_build_time RPC
Type Values Removed Values Added
Description Capgo (Cap-go/capgo) before 12.128.2 contains an improper access control vulnerability in the SECURITY DEFINER PostgREST RPC function public.record_build_time, which is granted to the anon role and callable with only the public Supabase publishable (sb_publishable_*) anon key. An unauthenticated attacker can insert rows into public.build_logs for arbitrary organizations and, because the function uses ON CONFLICT (build_id, org_id) DO UPDATE, can overwrite existing usage/billing records by reusing the same build_id for a target org. This enables cross-tenant tampering of billing build logs and financial-impact denial of service by inflating billable build time.
Title Supabase - Unauthenticated Cross-Tenant Billing Log Tampering via public.record_build_time RPC
Weaknesses CWE-284
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Nov 8, 2026, 2:05 PM
Reserved
Jun 18, 2026, 3:57 PM
Status
Deferred
Published
Jun 19, 2026, 10:16 PM
Modified
Oct 25, 2026, 11:10 PM