W Yamcs przed wersją 5.12.7 istniała podatność na wstrzyknięcie kodu po stronie serwera (server-side code injection) w silniku oceny algorytmów. Uwierzytelniony użytkownik z uprawnieniem ChangeMissionDatabase mógł wykonać dowolny kod Java na serwerze, co stanowi krytyczne zagrożenie dla systemów kontroli misji.
▸ Pokaż oryginał (EN)
Yamcs is a mission control framework. Prior to 5.12.7, a server-side code injection vulnerability existed in the Yamcs algorithm evaluation engine org.yamcs.algorithms.JavaExprAlgorithmExecutionFactory, which dynamically compiled and evaluated user-controlled algorithm text through the Janino compiler without enforcing a secure sandbox, so an authenticated user with the ChangeMissionDatabase privilege could override an existing algorithm's text via the mission database REST API and inject Java code (for example using java.lang.Runtime) to achieve remote code execution on the underlying host operating system. This issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.
Komponent JavaExprAlgorithmExecutionFactory dynamicznie kompilował i wykonywał tekst algorytmu dostarczony przez użytkownika za pomocą kompilatora Janino, bez stosowania bezpiecznej izolacji (sandbox). Uwierzytelniony użytkownik posiadający uprawnienie ChangeMissionDatabase mógł nadpisać tekst istniejącego algorytmu poprzez REST API bazy danych misji. Wstrzyknięty kod Java — przykładowo z użyciem klasy java.lang.Runtime — był następnie kompilowany i wykonywany bezpośrednio na hoście, co umożliwiało pełne RCE na poziomie systemu operacyjnego.
Atakujący może uzyskać pełną kontrolę nad systemem operacyjnym serwera, w tym wykonywać dowolne polecenia systemowe, odczytywać i modyfikować dane oraz eskalować uprawnienia. Skutkuje to naruszeniem poufności, integralności i dostępności całego systemu.
Należy zaktualizować Yamcs do wersji 5.12.7 lub 5.13.0, w których edytowanie algorytmów jest domyślnie wyłączone. Patche dostępne są w referencjach producenta (GitHub releases oraz commity 3c550348 i 4ff8fda6). Do czasu aktualizacji zaleca się ograniczenie uprawnień ChangeMissionDatabase wyłącznie do zaufanych użytkowników oraz ograniczenie dostępu do REST API bazy danych misji na poziomie sieci.
Yamcs (Spaceapplications) w wersjach wcześniejszych niż 5.12.7 oraz wcześniejszych niż 5.13.0.
Podatność dotyczy oprogramowania stosowanego w systemach kontroli misji kosmicznych. Pomimo wysokiego poziomu CVSS (9.1 CRITICAL), wymagane jest posiadanie konta z uprawnieniem ChangeMissionDatabase, co ogranicza powierzchnię ataku do uwierzytelnionych użytkowników. Poprawka została wydana 16 lipca 2026 roku wraz z wersjami 5.12.7 i 5.13.0.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HSpaceapplications Yamcs
APPSpaceapplications< 5.12.7
Powiązane podatności
Yamcs: RCE poprzez brak ClassFilter w silniku Nashorn JavaScript
Yamcs RCE przez niezabezpieczony silnik skryptów Python (Jython)
Path Traversal w Yamcs umożliwia usunięcie dowolnych plików przez API
Yamcs 5.8.6 is vulnerable to directory traversal (issue 1 of 2). The vulnerability is in the storage functiona...
Yamcs to framework do obsługi misji kosmicznych. W wersjach przed 5.12.8 i 5.13.2 endpoint PacketsApi.exportPa...