CVE-2026-77601
WysokieCVSS 8.8Streszczenie
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.
Ocena ryzyka
Uwierzytelniony atakujący może wykonać dowolne polecenia systemowe na serwerze OpenC3 COSMOS z uprawnieniami usługi openc3, uzyskując dostęp do poświadczeń Redis i bucketów. W wdrożeniach open-source wystarczy dowolny uwierzytelniony użytkownik, co znacząco zwiększa ryzyko.
Rekomendacja
Zaktualizuj OpenC3 COSMOS do wersji 7.3.0 lub nowszej oraz ogranicz liczbę kont z możliwością instalacji wtyczek i zmian ustawień.
Inne podatności w OpenC3 COSMOS
Zobacz wszystkie- 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-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.
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.12.0 until 7.3.0, an authenticated actor can write the pypi_url setting through set_setting at POST /openc3-api/api, then cause OpenC3::PluginModel.install_phase2 in openc3/lib/openc3/models/plugin_model.rb to interpolate the value into a shell command while installing a plugin with Python dependency metadata. Shell metacharacters in the setting are interpreted by the command shell, allowing arbitrary operating-system commands to run as the openc3 service user with access to Redis and bucket credentials. Open-source deployments permit any authenticated user to reach the affected operations, while Enterprise deployments require an administrator. This issue is fixed in version 7.3.0.

