CVE-2026-55566
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
Yamcs to framework do kontroli misji. Przed wersjami 5.12.8 i 5.13.2, Yamcs przetwarza dane kontrolowane przez atakującego z trasy /ext bez sprawdzania zarejestrowanych identyfikatorów wtyczek przed renderowaniem DOM przez innerHTML. Specjalnie spreparowany URL może wykonać JavaScript po otwarciu przez użytkownika. Skrypt może odczytać dane dostępne dla aplikacji webowej Yamcs i wykonywać działania w kontekście użytkownika. Problem naprawiono w wersjach 5.12.8 i 5.13.2.
Ocena ryzyka
Atakujący może wykonać skrypt w kontekście użytkownika, co może prowadzić do kradzieży danych lub nieautoryzowanych działań.
Rekomendacja
Zaktualizuj Yamcs do wersji 5.12.8 lub 5.13.2 (lub nowszej).
Inne podatności w Yamcs
Zobacz wszystkie- CVE-2026-55565Krytyczne
Yamcs przed wersjami 5.12.8 i 5.13.2 ma podatność w LikeExpression.fillCode_getValueReturn, gdzie wzorzec LIKE nie jest poprawnie escapowany i jest wstawiany do kodu Java kompilowanego przez SimpleCompiler.cook. Wzorzec może pochodzić z różnych punktów końcowych API, a cudzysłów we wzorcu może wstrzyknąć kod Java wykonywany jako proces serwera Yamcs.
- CVE-2026-55559Krytyczne
Yamcs przed wersjami 5.12.8 i 5.13.2 wstawia templateArgs z POST /api/instances i PATCH /api/instances/{instance} do YAML bez escapowania w kontekście YAML. Renderowana konfiguracja jest analizowana przez YamcsServer.createInstance i ładowana przez YamcsServerInstance, co pozwala atakującemu na wstrzyknięcie wpisu usługi dla org.yamcs.ProcessRunner. Udane wykorzystanie wykonuje polecenia jako konto usługi Yamcs.
- CVE-2026-55511Krytyczne
Yamcs przed wersjami 5.12.8 i 5.13.2 pozwala użytkownikowi z uprawnieniem SystemPrivilege.ControlArchiving na utworzenie nazwy kolumny StreamSQL z podwójnym cudzysłowem, która jest interpolowana do generowanego kodu Java. Poprzez endpoint POST /api/archive/{instance}:executeSql możliwe jest wykonanie dowolnego kodu Java w procesie serwera Yamcs, co może ujawnić dane misji i poświadczenia oraz umożliwić manipulację telemetrią lub odmowę usługi. Problem został naprawiony w wersjach 5.12.8 i 5.13.2.
- CVE-2026-46621Krytyczne
Podatność w Yamcs przed wersją 5.12.7 pozwala uwierzytelnionemu użytkownikowi z uprawnieniem ChangeMissionDatabase na zdalne wykonanie kodu poprzez nadpisanie algorytmu Python w skryptowym silniku Jython. Brak sandboksowania umożliwia import i wykonanie dowolnych klas Java, w tym java.lang.Runtime.
- CVE-2026-46562Krytyczne
W Yamcs przed wersją 5.12.7 silnik skryptowy Nashorn użyty do oceny algorytmów JavaScript nie posiadał filtru klas, co pozwalało użytkownikowi z uprawnieniami ChangeMissionDatabase na podmianę algorytmu i wykonanie dowolnego kodu Java, w tym poleceń systemowych. W domyślnej konfiguracji bez pliku security.yaml wbudowany użytkownik gość ma superuser=true, co umożliwia atak bez uwierzytelnienia.
- CVE-2026-44632Krytyczne
Yamcs przed wersją 5.12.7 zawiera podatność na wstrzykiwanie kodu po stronie serwera w silniku ewaluacji algorytmów. Uwierzytelniony użytkownik z uprawnieniami ChangeMissionDatabase może nadpisać istniejący algorytm przez REST API i wstrzyknąć kod Java, co prowadzi do zdalnego wykonania kodu na hoście.
- CVE-2026-55552Wysokie
Yamcs przed wersją 5.11.13 zawiera podatność w StaticFileHandler.locateFile, która rozwiązuje nieuwierzytelnioną ścieżkę żądania bez użycia Path.normalize i Path.toAbsolutePath, aby potwierdzić, że ścieżka bezwzględna pozostaje w skonfigurowanych staticRoots. Ścieżka zawierająca segmenty traversal może opuścić zamierzony katalog główny i zwrócić dowolny czytelny plik hosta. Wada znajduje się w yamcs-core/src/main/java/org/yamcs/http/StaticFileHandler.java i może ujawnić wrażliwe dane systemu operacyjnego i aplikacji. Problem jest naprawiony w wersji 5.11.13, a linia 5.12 jest naprawiona od wersji 5.12.0.
- CVE-2026-55549Średnie
Yamcs przed wersją 5.9.4 odzwierciedla parametr redirect_uri z GET /auth/authorize do szablonu authorize.html bez odpowiedniego escapowania HTML. Specjalnie spreparowany adres URL autoryzacji może wykonać JavaScript u użytkownika Yamcs, co umożliwia kradzież danych uwierzytelniających i przejęcie konta.
- CVE-2026-55547Średnie
Yamcs przed wersjami 5.12.8 i 5.13.2 nie sprawdza uprawnień SystemPrivilege.ControlAccess w metodach IamApi.listRoles, IamApi.getRole i IamApi.listPrivileges. Każde uwierzytelnione konto może wywołać GET /api/roles, GET /api/roles/{name} i GET /api/privileges, aby wyliczyć dostępne uprawnienia systemowe i mapowania ról.
- CVE-2026-55545Średnie
Yamcs przed wersjami 5.12.8 i 5.13.2 nie egzekwuje uprawnień wymaganych przez równoważne endpointy REST w handlerach subskrypcji WebSocket. Konkretnie, subskrypcje pakietów, statusu algorytmów i zmian bazy misji są dostępne bez wymaganych uprawnień, co pozwala użytkownikowi z niskimi uprawnieniami na otrzymywanie wrażliwych danych.
Oryginalny opis (angielski, źródło NVD)
Yamcs is a mission control framework. Prior to 5.12.8 and 5.13.2, Yamcs processes attacker-controlled data from the /ext URL route in yamcs-web/src/main/webapp/projects/webapp/src/app/core/routes/extension.matcher.ts, extension.component.ts, and app.component.ts without checking registered plugin IDs before DOM rendering through innerHTML. A crafted URL can execute JavaScript when opened by a user. The script can read data available to the Yamcs web application and perform actions in the user context. This issue is fixed in versions 5.12.8 and 5.13.2.

