Katalog CVE

CVE-2026-88864

KrytyczneCVSS 9.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Capgo (capgo.app) nie ogranicza bezpośredniego dostępu zapisu do tabeli public.sso_providers udostępnionej przez Supabase PostgREST. Posiadacz zwykłego pełnego klucza API Capgo może wstawić wiersz ze statusem 'active' i enforce_sso=true, omijając zamierzoną ścieżkę provisioningu SSO i jej kontrole (wymóg planu Enterprise, tworzenie dostawcy przez Supabase Management API, weryfikację własności domeny przez DNS TXT, przejście statusów pending_verification → verified → active oraz wydanie zaufanego identyfikatora dostawcy przez Supabase Auth). Sfałszowany wiersz jest uznawany przez logikę wykrywania i wymuszania SSO, w tym nieuwierzytelniony endpoint preflight /private/sso/check-domain, który zgłasza {"has_sso": true, "enforce_sso": true} dla domen nigdy niezweryfikowanych.

Ocena ryzyka

Atakujący może wymusić kontrolowane przez siebie SSO dla dowolnych domen i zakłócić normalne logowanie użytkowników. Wszystkie wersje są podatne, a w momencie publikacji biuletynu nie było dostępnej poprawki.

Rekomendacja

Ogranicz uprawnienia zapisu do tabeli public.sso_providers na poziomie Supabase (RLS/uprawnienia) i unieważniaj klucze API o zbyt szerokich uprawnieniach. Monitoruj wiersze SSO pod kątem nieautoryzowanych wpisów do czasu wydania oficjalnej poprawki.

Inne podatności w Capgo

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS