Katalog CVE

CVE-2026-100618

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

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

Streszczenie

Capgo (capgo.app) jest dotknięty błędem autoryzacji w ścieżce aktualizacji ikony aplikacji. Endpoint PUT /app/:id akceptuje kontrolowaną przez użytkownika wartość `icon`, normalizuje ją i przechowuje w public.apps.icon_url bez weryfikacji, czy ścieżka obrazu należy do własnej przestrzeni nazw obrazów docelowej aplikacji (np. org/{owner_org}/{app_id}/...). Aktualizacja apps.icon_url wyzwala trigger on_app_update, którego worker odczytuje record.icon_url i wywołuje cleanStoredImageMetadata(), który działa z poświadczeniami roli usługi (supabaseAdmin()) i pobiera oraz ponownie przesyła referencyjny obiekt magazynu z upsert: true. W rezultacie uwierzytelniony posiadacz klucza API z ograniczonym zapisem do aplikacji może spowodować, że uprzywilejowany worker nadpisze prywatny obiekt obrazu poza zakresem (na przykład logo organizacji), którego klucz nie może odczytać ani zapisać bezpośrednio w ramach Supabase Storage RLS. Wszystkie wersje są podatne; w momencie publikacji biuletynu nie było dostępnej wersji z poprawką.

Ocena ryzyka

Uwierzytelniony użytkownik z ograniczonym kluczem API może nadpisać prywatne obrazy poza swoim zakresem, takie jak logo organizacji. Może to prowadzić do nieautoryzowanej modyfikacji zasobów i potencjalnego defacementu.

Rekomendacja

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

Inne podatności w Capgo

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

Capgo (capgo.app) is affected by an authorization flaw in the app icon update path. The PUT /app/:id endpoint accepts a user-controlled `icon` value, normalizes it, and stores it in public.apps.icon_url without verifying that the image path belongs to the target app's own image namespace (e.g. org/{owner_org}/{app_id}/...). Updating apps.icon_url fires the on_app_update trigger, whose worker reads record.icon_url and calls cleanStoredImageMetadata(), which runs with service-role credentials (supabaseAdmin()) and downloads and re-uploads the referenced storage object with upsert: true. As a result, an authenticated holder of an app-limited write API key can cause the privileged worker to rewrite an out-of-scope private image object (for example an organization logo) that the key cannot read or write directly under Supabase Storage RLS. All versions are affected; no patched version was available at the time of the advisory.

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