CVE-2026-77394
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
W OpenC3 COSMOS od wersji 5.0.6 do 7.3.0 uwierzytelniony użytkownik z uprawnieniem system_set może zapisać współdzielony ekran przez POST /openc3-api/screen, którego akcja widżetu BUTTON jest wykonywana w przeglądarce innego operatora po aktywowaniu przycisku. Zapisany skrypt działa w origin COSMOS i może odczytać localStorage.openc3Token, co pozwala na kradzież tokenu bearer ofiary, przejęcie konta i działania z uprawnieniami ofiary.
Ocena ryzyka
Atakujący z uprawnieniem system_set może przejąć konto innego operatora poprzez kradzież tokenu bearer, a następnie wykonywać działania z jego uprawnieniami. Permisywna polityka bezpieczeństwa treści ułatwia wykonanie, choć nie jest główną przyczyną.
Rekomendacja
Zaktualizuj OpenC3 COSMOS do wersji 7.3.0 lub nowszej oraz ogranicz uprawnienie system_set do zaufanych użytkowników i rozważ zaostrzenie polityki CSP.
Inne podatności w OpenC3 COSMOS
Zobacz wszystkie- CVE-2026-77602Krytyczne
OpenC3 COSMOS zapewnia funkcjonalność wysyłania poleceń i odbierania danych z jednego lub więcej systemów wbudowanych. Od wersji 5.1.0 do 7.3.0, uwierzytelnieni użytkownicy niebędący administratorami mogą zapisywać treści w katalogu targets_modified/, które są później wykonywane przez wiele ścieżek konfiguracyjnych poniżej zamierzonego poziomu uprawnień do wykonywania kodu. Definicje tabel i poleceń lub telemetrii są przetwarzane przez ConfigParser, PacketConfig, GENERIC_READ_CONVERSION lub GENERIC_WRITE_CONVERSION, umożliwiając renderowanie ERB lub ocenę Ruby i Pythona, podczas gdy openc3-cosmos-script-runner-api/scripts/run_suite_analysis.rb wykonuje pliki procedur suite przez require. Przesyłanie danych do magazynu, zapisy ekranów i tworzenie skryptów mogą umieścić treści w nakładce, a wyzwolenie przetwarzania tabel, przeładowania cmd/tlm lub analizy suite wykonuje treści w cmd-tlm-api, decom microservices lub Script Runner z dostępem do wewnętrznych poświadczeń i danych. Problem został naprawiony w wersji 7.3.0.
- CVE-2026-42088Krytyczne
OpenC3 COSMOS przed wersją 7.0.0-rc3 umożliwia użytkownikom wykonywanie skryptów Python i Ruby z kontenera openc3-COSMOS-script-runner-api. Umożliwia to obejście kontroli uprawnień API i wykonywanie działań administracyjnych, w tym modyfikację danych w bazie Redis.
- CVE-2026-77601Wysokie
W OpenC3 COSMOS od wersji 5.12.0 do 7.3.0 uwierzytelniony użytkownik może zapisać ustawienie pypi_url przez set_setting w POST /openc3-api/api, a następnie doprowadzić do interpolacji tej wartości do polecenia powłoki podczas instalacji wtyczki z metadanymi zależności Pythona. Znaki specjalne powłoki w ustawieniu są interpretowane przez shell, co pozwala na wykonanie dowolnych poleceń systemowych jako użytkownik usługi openc3 z dostępem do poświadczeń Redis i bucketów.
- CVE-2026-42086Średnie
OpenC3 COSMOS w wersjach przed 7.0.0 używa niebezpiecznej funkcji eval() na parametrach tablicowych w interfejsie Command Sender. Pozwala to na wykonanie złośliwego ładunku w przeglądarce podczas wysyłania komendy, co stwarza ryzyko self-XSS. Atakujący może wpłynąć na dane wejściowe, np. przez phishing, i wykonać własny skrypt w sesji ofiary.
- CVE-2026-42085Średnie
OpenC3 COSMOS w wersjach przed 6.10.5 i 7.0.0-rc3 zawiera wadę projektową w funkcji save_tool_config(), która pozwala zapisywać pliki konfiguracyjne narzędzi w dowolnych lokalizacjach wewnątrz współdzielonego drzewa katalogu /plugins poprzez podanie spreparowanych nazw plików konfiguracyjnych. Mimo łagodzenia standardowych ataków path traversal, wszystkie wtyczki współdzielą ten sam katalog główny, co umożliwia tworzenie dowolnych struktur plików i nadpisywanie istniejących plików konfiguracyjnych.
- CVE-2026-42084Wysokie
OpenC3 COSMOS przed wersjami 6.10.5 i 7.0.0-rc3 pozwalał użytkownikom na zmianę hasła bez podawania starego hasła, akceptując jedynie ważny token sesji. To zachowanie może być wykorzystane przez atakującego, który posiada ważny token sesji, do przejęcia konta i zablokowania dostępu dla prawowitych użytkowników.
Oryginalny opis (angielski, źródło NVD)
OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. From 5.0.6 until 7.3.0, an authenticated actor with system_set permission can store a shared screen through POST /openc3-api/screen whose BUTTON widget action is evaluated by openc3-cosmos-init/plugins/packages/openc3-vue-common/src/widgets/ButtonWidget.vue in another operator's browser session when the button is activated. The stored script runs in the COSMOS origin and can read localStorage.openc3Token, allowing theft of the victim's bearer token, account takeover, and actions with the victim's privileges. The permissive content security policy contributes to execution but is not the primary root cause. This issue is fixed in version 7.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

