CVE-2026-88862
WysokieCVSS 8.8Streszczenie
Backend Capgo (do wersji 12.242.4) nie weryfikuje delegacji rodzic-podklucz przy przetwarzaniu nagłówka x-limited-key-id. Middleware ufa identyfikatorowi klucza API podanemu przez atakującego i może podstawić tożsamość oraz sekret klucza o wyższych uprawnieniach należącego do tego samego właściciela.
Ocena ryzyka
Uwierzytelniony klucz API z uprawnieniem apikey_manager, bez dostępu do aplikacji, może przejąć uprawnienia klucza app_admin i wykonywać operacje, do których nie powinien mieć prawa. W chwili publikacji brak było wersji z poprawką.
Rekomendacja
Monitoruj dostępność poprawki dla Capgo i wdróż ją niezwłocznie po wydaniu. Do tego czasu ogranicz liczbę kluczy API z uprawnieniem apikey_manager oraz audytuj ich użycie.
Inne podatności w Capgo
Zobacz wszystkie- CVE-2026-88863Wysokie
W pakiecie npm `capgo` (do wersji 12.207.1) funkcja validateInvite() nie porównuje rangi roli zapraszającego z rangą roli, którą chce nadać. Użytkownik z uprawnieniem org.invite_user może zaprosić zewnętrzną osobę jako org_admin lub org_billing_admin, a akceptacja zaproszenia tworzy powiązanie roli z pominięciem mechanizmów ochronnych bazy danych.
- CVE-2026-88860Średnie
Capgo nie usuwa nadpisań uprawnień kanałów po usunięciu ostatniego przypisania roli organizacyjnej użytkownika, pozostawiając aktywne nieaktualne nadpisania. Atakujący mogą zachować uprawnienia specyficzne dla kanału po odebraniu podstawowego dostępu RBAC i wykonywać nieautoryzowane działania, takie jak zmiana produkcyjnych wersji OTA.
- CVE-2026-56335Średnie
Podatność w Capgo przed wersją 12.128.2 umożliwia ominięcie autoryzacji, gdzie klucze API z zakresem zapisu mogą bezpośrednio modyfikować chronione pola konfiguracji kanałów przez PostgREST, wykorzystując brak sprawdzania uwierzytelnienia w wyzwalaczu niezmienności. Atakujący z kluczami API do zapisu mogą zmieniać wrażliwe atrybuty kanałów, takie jak public, allow_emulator i flagi związane z bezpieczeństwem, poza zamierzonymi ścieżkami aplikacji.
- CVE-2026-56329Średnie
Podatność w Capgo przed wersją 12.128.2 wynika z niebijectywnego dekodowania podwójnych podkreślników na kropki podczas parsowania nazw hostów wersji zapoznawczych. Atakujący mogą rejestrować identyfikatory aplikacji z podkreślnikami, które kolidują z identyfikatorami z kropkami innych dzierżawców, powodując błędne kierowanie wersji zapoznawczych i odmowę dostępu do wersji zapoznawczych dla ofiar.
- CVE-2026-56312Średnie
Podatność w Capgo przed wersją 12.128.2 w punkcie końcowym accept_invitation powoduje, że konta użytkowników są tworzone przed weryfikacją captcha. Atakujący mogą ominąć ochronę captcha, wysyłając żądania POST z nieprawidłowymi tokenami captcha, co umożliwia tworzenie niechcianych kont i wypalanie linków zaproszeń.
- CVE-2026-56309Średnie
Podatność w Capgo przed wersją 12.128.2 nie egzekwuje ograniczeń planu/kwoty na endpointcie /files/upload/attachments, co pozwala aplikacjom zablokowanym przez plan na tworzenie publicznie czytelnych obiektów R2. Atakujący mogą przesyłać dowolne załączniki przy użyciu kluczy API z zakresem upload, które omijają sprawdzanie planu, utrzymują się poza normalnymi metadanymi pakietu i przetrwają usunięcie aplikacji, umożliwiając nadużycie pamięci i przepustowości.
- CVE-2026-56279Wysokie
Podatność w Capgo przed wersją 12.128.2 ujawnia informacje poprzez funkcję RPC get_orgs_v7(userid), która jest publicznie wywoływalna mimo zamierzonej prywatnej kontroli dostępu. Nieuwierzytelnieni atakujący mogą podać dowolne UUID użytkownika, aby pobrać dane o członkostwie w organizacjach, rolach, służbowych adresach e-mail i metadanych rozliczeniowych innych użytkowników.
- CVE-2026-56298Średnie
Podatność w Capgo przed wersją 12.128.2 polega na braku usuwania metadanych EXIF z obrazów przesyłanych przez endpoint informacji o aplikacji. Umożliwia to atakującym wyodrębnienie danych geolokalizacyjnych i innych metadanych z przesłanych plików.
- CVE-2026-56293Średnie
Podatność w Capgo przed wersją 12.128.2 wynika z błędu autoryzacji w funkcji transfer_app(), która nie aktualizuje pola deploy_history.owner_org podczas przenoszenia aplikacji między organizacjami. Atakujący mogą wykorzystać to przeoczenie, aby zachować nieautoryzowany dostęp do historii wdrożeń w źródłowej organizacji lub spowodować utratę dostępu do przeniesionych rekordów wdrożeń w docelowej organizacji.
- CVE-2026-56283Średnie
Podatność HTML injection w Capgo przed wersją 12.128.2 w punkcie końcowym ustawień organizacji umożliwia atakującym wstrzyknięcie złośliwego kodu HTML. Poprzez pole nazwy organizacji mogą oni przekierowywać użytkowników na niebezpieczne strony, co prowadzi do ataków phishingowych i szkód w reputacji.
Oryginalny opis (angielski, źródło NVD)
Capgo (capgo.app) backend through 12.242.4 does not validate parent-child delegation when processing the x-limited-key-id header. checkKeyByIdPg() in supabase/functions/_backend/utils/hono_middleware.ts resolves the attacker-supplied numeric API key ID using only the key ID, its expiration state, and the authenticating key's user_id, while hasLimitedRbacSubkeyScope() accepts any key with a non-organization (e.g., app-scoped) RBAC binding and validateSubkeyUser() only compares owning user IDs. Because Capgo treats API keys as independent RBAC principals with separate role bindings, an authenticated apikey_manager API key with no application access can supply the numeric ID of a more privileged same-owner key and have the middleware replace the authenticated principal and effective API-key secret with that key (setSubkeyAuthContext), exercising an app_admin sibling's permissions without knowing or submitting its secret. The issue was reproduced on release 12.242.4 (commit b3d02cdbc23ac59990785acacd1f113c07458568) after the fix for GHSA-8h52-44r7-w343; at the time of the advisory no patched version was available.

