Sceawere

Vulnerability Detail

CVE-2026-88864UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

Capgo Insecure Direct Object Access

Vulnerability Metadata

Severity
Critical
Score / CVSS
9.1
Creation Date
6h ago
Vendor
Cap-go
Product
capgo.app
Attack Type
Improper Access Control
Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L
Attack Complexity
LOW

Narrative and Response

Description

Capgo (capgo.app) fails to restrict direct write access to the public.sso_providers table exposed through Supabase PostgREST. A holder of an ordinary Capgo full API key can insert a row with status='active' and enforce_sso=true, bypassing the intended backend SSO provisioning route (supabase/functions/_backend/private/sso/providers.ts) and its controls: the Enterprise plan requirement, SSO provider creation via the Supabase Management API, DNS TXT domain-ownership verification, the pending_verification → verified → active status transition, and issuance of a trusted provider ID by Supabase Auth. The forged row is trusted by SSO discovery and enforcement logic, including the unauthenticated login preflight endpoint /private/sso/check-domain, which then reports {"has_sso": true, "enforce_sso": true} for domains that were never verified, allowing attacker-controlled SSO enforcement to be asserted for arbitrary domains and disrupting normal login. All versions are affected; at the time of the advisory no patch was available.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "9.1",
  "pubDate": "2026-09-10T14:17:12.187Z",
  "pubdate": "2026-09-10T14:17:12.187Z",
  "executiveSummary": "Capgo (capgo.app) is vulnerable to an Insecure Direct Object Access (IDOA) vulnerability stemming from improper access control configurations in the Supabase PostgREST API.\nThe vulnerability allows an attacker possessing a standard Capgo API key to bypass critical business logic by directly writing to the 'public.sso_providers' table.\nBy injecting unauthorized rows into this table, an attacker can circumvent Enterprise plan requirements, domain-ownership verification (DNS TXT checks), and the mandatory Supabase Management API provisioning process.\nThis exploit allows the unauthorized assertion of SSO enforcement for arbitrary domains. Consequently, attackers can disrupt legitimate user authentication flows, deny service to users by forcing non-existent SSO providers, and potentially facilitate account takeovers or credential harvesting through malicious SSO discovery responses.\nThe vulnerability affects all versions of Capgo, as the underlying architecture fails to enforce Row-Level Security (RLS) or backend proxying for sensitive configuration tables.",
  "technicalDetails": "The root cause of this vulnerability is the exposed write access to the 'public.sso_providers' table via the Supabase PostgREST interface. The backend logic intended to manage SSO providers is located in 'supabase/functions/_backend/private/sso/providers.ts'; however, because the underlying database table is directly accessible via the public API, an attacker can circumvent these programmed controls entirely.\nThe exploitation flow initiates when an attacker utilizes an ordinary, low-privilege Capgo API key to perform an authorized 'INSERT' or 'UPDATE' request against the 'public.sso_providers' table. By constructing a payload containing 'status=active' and 'enforce_sso=true', the attacker bypasses the entire provisioning lifecycle. This lifecycle should include Enterprise plan validation, domain ownership verification via DNS TXT records, and the necessary handshake with the Supabase Management API to issue a trusted provider ID.\nThe application relies on this table for its 'unauthenticated' login preflight endpoint, specifically '/private/sso/check-domain'. Because the application trusts the database state directly, the preflight endpoint will ingest the attacker-injected row and return a JSON response indicating {'has_sso': true, 'enforce_sso': true} for any target domain provided by the attacker.\nOnce the forged record is persisted in the database, the system treats it as a legitimate configuration. The impact is significant: first, it allows for widespread denial-of-service against user login flows for arbitrary domains. Second, it misleads the client-side application logic into enforcing SSO authentication protocols that do not exist or are controlled by the attacker. Since the system fails to validate the record against the actual Supabase Auth provider infrastructure, the trust model is effectively broken. The vulnerability demonstrates a failure to implement Row-Level Security (RLS) on sensitive administrative tables, allowing any authenticated user to modify the global identity management configuration of the platform."
}
CVE-2026-88864: Capgo Insecure Direct Object Access (CRITICAL Severity, CVSS: 9.1) | Sceawere