Katalog CVE

CVE-2026-100619

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.32%

Percentyl 23 - wyżej niż 23% wszystkich znanych CVE

Streszczenie

Capgo (capgo.app) blokuje bezpośrednie wstawianie użytkowników do tabeli public.manifest za pomocą restrykcyjnej polityki bezpieczeństwa na poziomie wiersza, ale to ograniczenie można obejść pośrednio. Podmiot posiadający klucz API o zakresie aplikacji upload/write/all (uprawnienia upload+) lub uwierzytelniony użytkownik z uprawnieniami write+ na aplikacji może zaktualizować public.app_versions.manifest dla wersji, której storage_provider to 'r2-direct', co nie jest objęte kontrolą blokady zawartości pakietu. Asynchroniczny worker on_version_update ufa record.manifest i używając klienta Supabase z rolą usługi, wstawia kontrolowane przez atakującego file_name, file_hash i s3_path do public.manifest przed wyczyszczeniem app_versions.manifest. Gdy kanał wskazuje na spreparowaną wersję, endpoint /updates zwraca wpis manifestu utworzony przez rolę usługi jako download_url dla klienta, umożliwiając zatrucie manifestu OTA przez zaufaną ścieżkę asynchronicznego workera. Wszystkie wersje są podatne; w momencie publikacji biuletynu nie było dostępnej poprawki.

Ocena ryzyka

Uwierzytelniony użytkownik z uprawnieniami zapisu może zatruć manifest OTA, co może prowadzić do dostarczenia złośliwych aktualizacji do klientów. Może to skutkować kompromitacją aplikacji i urządzeń użytkowników.

Rekomendacja

Brak dostępnej poprawki; monitoruj oficjalne komunikaty Capgo i zastosuj aktualizację, gdy będzie dostępna. Ogranicz uprawnienia zapisu do aplikacji i monitoruj nietypowe zmiany w manifestach.

Inne podatności w Capgo

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

Capgo (capgo.app) blocks direct user inserts into the public.manifest table with a RESTRICTIVE row-level security policy, but that restriction can be bypassed indirectly. A principal holding an app-scoped upload/write/all API key (upload+ rights) or an authenticated user with write+ rights on an app can update public.app_versions.manifest on a version whose storage_provider is 'r2-direct', which is not covered by the bundle content-lock check. The on_version_update async worker trusts record.manifest and, using the service-role Supabase client, inserts the attacker-controlled file_name, file_hash, and s3_path into public.manifest before clearing app_versions.manifest. When a channel points to the crafted version, the /updates endpoint returns the service-role-created manifest entry as a client-facing download_url, enabling OTA manifest poisoning through a trusted async worker path. All versions are affected; no patch was available at the time of publication.

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