CVE-2026-100611
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Capgo (backend capgo.app, wersje ≤ 12.261.0) niewłaściwie ogranicza role, które rola organizacji apikey_manager może przypisywać do nowo tworzonych kluczy API. Gdy uwierzytelniony użytkownik z rolą apikey_manager wywołuje POST /apikey, stosowane są tylko sprawdzenie uprawnienia org.manage_apikeys, stała lista zabronionych ról i porównanie rangi, ale nie sprawdza się, czy wywołujący faktycznie posiada uprawnienia przypisywanej roli. Ponieważ lista zabronionych pomija role wdrożeniowe, a apikey_manager ma rangę 78 wyższą niż te role, kontrola rangi również przechodzi.
Ocena ryzyka
apikey_manager, który nie może przesyłać bundle ani promować kanałów, może utworzyć klucz API powiązany z rolą wdrożeniową i użyć go do wypychania dowolnych aktualizacji JavaScript OTA do wszystkich użytkowników aplikacji organizacji. Może to prowadzić do wykonania złośliwego kodu na urządzeniach końcowych.
Rekomendacja
Brak dostępnej poprawki — monitoruj komunikaty producenta i wdróż ją, gdy tylko będzie dostępna. Do czasu aktualizacji rozważ ograniczenie roli apikey_manager i audyt tworzonych kluczy API.
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-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.
- CVE-2026-56250Wysokie
Podatność w Capgo przed wersją 12.128.2 pozwala kluczom API z ograniczeniami do przesyłania modyfikować pole app_versions.r2_path przez PostgREST, co umożliwia przekierowanie do dowolnych obiektów R2. Atakujący może ustawić r2_path na obiekt ofiary, usunąć swoją wersję i wywołać funkcję czyszczącą on_version_update, która usunie obiekt ofiary, powodując denial of service.
Oryginalny opis (angielski, źródło NVD)
Capgo (capgo.app backend, versions ≤ 12.261.0) improperly restricts which roles the apikey_manager organization role may bind to newly created API keys. When an authenticated user holding only apikey_manager (permissions org.manage_apikeys and org.read) calls POST /apikey with a JWT session, the only checks applied are the org.manage_apikeys permission, a fixed deny-list of assignable role names (APIKEY_MANAGER_DENIED_ASSIGNABLE_ROLES in public/apikey/scope.ts), and a priority-rank comparison in createRoleBindingForPrincipal (private/role_bindings.ts). No check verifies that the caller actually holds the permissions conferred by the role being assigned. Because the deny-list omits the deploy roles app_developer, app_uploader, channel_developer and channel_uploader, and apikey_manager is seeded with priority_rank 78 — higher than those roles' ranks (68, 66, 58, 57) — the rank check also passes. As a result, an apikey_manager who cannot upload bundles or promote channels can mint an API key bound to a deploy role and use it to push arbitrary OTA JavaScript updates to all end users of the organization's apps. As of the advisory publication no patched version was available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

