CVE-2026-77602
KrytyczneCVSS 9.9Streszczenie
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.
Ocena ryzyka
Uwierzytelnieni użytkownicy niebędący administratorami mogą wykonywać dowolny kod w kontekście usług z dostępem do wewnętrznych poświadczeń, co prowadzi do eskalacji uprawnień i naruszenia poufności danych.
Rekomendacja
Zaktualizuj OpenC3 COSMOS do wersji 7.3.0 lub nowszej i ogranicz uprawnienia użytkowników do zapisu w katalogu targets_modified/.
Inne podatności w OpenC3 COSMOS
Zobacz wszystkie- 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-77394Wysokie
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.
- 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.
- 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.
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.1.0 until 7.3.0, authenticated non-administrator users can write content under targets_modified/ that is later executed by multiple configuration paths below the intended code-execution privilege tier. Table and command or telemetry definitions are processed through ConfigParser, PacketConfig, GENERIC_READ_CONVERSION, or GENERIC_WRITE_CONVERSION, allowing ERB rendering or Ruby and Python evaluation, while openc3-cosmos-script-runner-api/scripts/run_suite_analysis.rb executes suite procedure files through require. Storage uploads, screen saves, and script creation can place content in the overlay, and triggering table processing, a cmd/tlm reload, or suite analysis executes the content in cmd-tlm-api, decom microservices, or Script Runner with access to internal credentials and data. This issue is fixed in version 7.3.0.

