CVE-2026-44595
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 59 - wyżej niż 59% wszystkich znanych CVE
Streszczenie
W Yamcs przed wersją 5.12.7, endpointy API IAM (listUsers, getUser, listGroups, getGroup) nie sprawdzały wymaganego uprawnienia SystemPrivilege.ControlAccess. Umożliwiało to każdemu uwierzytelnionemu użytkownikowi, nawet z niskimi uprawnieniami, wyliczenie wszystkich kont użytkowników, ich nazw, statusu superużytkownika oraz członkostwa w grupach.
Ocena ryzyka
Organizacja narażona jest na wyciek wrażliwych informacji o kontach użytkowników, co może ułatwić ataki socjotechniczne lub eskalację uprawnień przez nieupoważnione osoby.
Rekomendacja
Należy niezwłocznie zaktualizować Yamcs do wersji 5.12.7 lub 5.13.0, które zawierają poprawkę wymuszającą odpowiednie sprawdzanie uprawnień.
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-55566Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Yamcs is a mission control framework. Prior to 5.12.7, the IAM API endpoints listUsers, getUser, listGroups, and getGroup in yamcs-core did not enforce the required SystemPrivilege.ControlAccess check in yamcs-core/src/main/java/org/yamcs/http/api/IamApi.java, so any authenticated user, even one with low or no privileges, could enumerate all user accounts in the system including their usernames, superuser status, and group memberships. This issue is fixed in versions 5.12.7 and 5.13.0.

