CVE-2025-69203
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
Signal K Server przed wersją 2.19.0 ma podatność w systemie żądań dostępu, która łączy dwa powiązane problemy: nieprawidłowe wyświetlanie pola `permissions` (mniej widoczne niż opis) oraz bezwarunkowe zaufanie do nagłówka `X-Forwarded-For` przy określaniu adresu IP klienta. Atakujący może wykorzystać te luki, aby stworzyć przekonujący atak socjotechniczny na administratora, podszywając się pod zaufane urządzenie i żądając podwyższonych uprawnień.
Ocena ryzyka
Ryzyko polega na tym, że administrator może zatwierdzić żądanie dostępu z pełnymi uprawnieniami, myśląc, że dotyczy ono tylko odczytu i pochodzi z zaufanego adresu IP, co prowadzi do nieautoryzowanego dostępu do systemu i potencjalnego przejęcia kontroli.
Rekomendacja
Zaleca się natychmiastową aktualizację Signal K Server do wersji 2.19.0 lub nowszej, która usuwa tę podatność. Ponadto, przed aktualizacją, należy zachować ostrożność przy zatwierdzaniu żądań dostępu i weryfikować uprawnienia oraz adres IP niezależnie od wyświetlanych informacji.
Inne podatności w Signal K Server
Zobacz wszystkie- CVE-2026-33950Krytyczne
Signal K Server przed wersją 2.24.0-beta.4 zawiera podatność eskalacji uprawnień przez wstrzyknięcie roli administratora w endpoint /enableSecurity. Nieuwierzytelniony atakujący może uzyskać pełny dostęp administracyjny.
- CVE-2025-68620Krytyczne
Signal K Server przed wersją 2.19.0 zawiera dwie podatności, które można połączyć w łańcuch ataku, umożliwiający kradzież tokenów JWT bez uwierzytelnienia. Pierwsza dotyczy nieuwierzytelnionego wyliczania żądań przez WebSocket (parametr serverevents=all), a druga nieuwierzytelnionego odpytywania statusu żądań dostępu, co po zatwierdzeniu przez administratora zwraca token JWT w postaci jawnej.
- CVE-2025-66398Krytyczne
Signal K Server przed wersją 2.19.0 pozwala nieuwierzytelnionemu atakującemu na zanieczyszczenie stanu wewnętrznego (restoreFilePath) przez endpoint /skServer/validateBackup, co umożliwia przejęcie funkcji przywracania administratora i nadpisanie krytycznych plików konfiguracyjnych, prowadząc do przejęcia konta i zdalnego wykonania kodu.
- CVE-2026-55591Średnie
Signal K Server przed wersją 2.28.0 ma podatność w funkcji makeRemoteRequest(), która akceptuje kontrolowane przez atakującego parametry host, port, useTLS i selfsignedcert bez walidacji celu. Przy braku skonfigurowanego bezpieczeństwa, endpointy testSignalKConnection, requestAccess i checkAccessRequest są dostępne bez uwierzytelnienia, co pozwala na skanowanie portów, eksfiltrację danych z metadata chmury i wewnętrznych usług oraz ruch boczny.
- CVE-2026-41893Wysokie
Signal K Server przed wersją 2.25.0 chroni punkty końcowe logowania HTTP (POST /login i POST /signalk/v1/auth/login) za pomocą express-rate-limit (domyślnie 100 prób na 10 minut). Jednak ścieżka logowania przez WebSocket — wysyłanie wiadomości {login: {username, password}} przez ustanowione połączenie WebSocket — wywołuje app.securityStrategy.login() bezpośrednio bez żadnego ograniczania szybkości. Atakujący może całkowicie ominąć ograniczenia HTTP, otwierając połączenie WebSocket i próbując nieograniczonej liczby haseł z szybkością, na jaką pozwala bcrypt (~20 prób/s przy 10 rundach soli). Problem został naprawiony w wersji 2.25.0.
- CVE-2026-35038Średnie
Signal K Server przed wersją 2.24.0 zawiera podatność na odczyt prototypu przez ominięcie filtrowania pola `from`. Uwierzytelniony użytkownik o niskich uprawnieniach może ominąć filtrowanie granic prototypu i odczytać wewnętrzne funkcje i właściwości z globalnego obiektu prototypu.
- CVE-2026-34083Średnie
Signal K Server to aplikacja serwerowa dla łodzi. Przed wersją 2.24.0 występuje podatność w handlerach logowania i wylogowania OIDC, gdzie niezweryfikowany nagłówek Host jest używany do konstruowania redirect_uri OAuth2. Ponieważ redirectUri jest domyślnie niezdefiniowane, atakujący może podszyć nagłówek Host, aby ukraść kody autoryzacyjne OAuth i przejąć sesje użytkowników.
- CVE-2026-33951Wysokie
Signal K Server przed wersją 2.24.0-beta.1 udostępnia nieuwierzytelniony endpoint HTTP PUT /signalk/v1/api/sourcePriorities, który pozwala zdalnym atakującym modyfikować priorytety źródeł danych nawigacyjnych. Zmiany są natychmiast stosowane i trwale zapisywane.
- CVE-2025-68619Wysokie
Signal K Server przed wersją 2.19.0 w interfejsie appstore umożliwia administratorom instalowanie pakietów npm przez punkt końcowy REST API. Mimo walidacji nazwy pakietu, parametr wersji akceptuje dowolne specyfikatory wersji npm, w tym URL-e, co pozwala na instalację pakietów z zewnętrznych źródeł i wykonanie złośliwych skryptów postinstall. Wersja 2.19.0 zawiera poprawkę.
- CVE-2025-68273Średnie
Signal K Server przed wersją 2.19.0 zawiera podatność na nieuwierzytelnione ujawnienie informacji, umożliwiającą każdemu użytkownikowi pobranie wrażliwych informacji systemowych, w tym pełnego schematu danych SignalK, podłączonych urządzeń szeregowych i zainstalowanych narzędzi analitycznych. Wersja 2.19.0 naprawia ten problem.
Oryginalny opis (angielski, źródło NVD)
Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.19.0 of the access request system have two related features that when combined by themselves and with an information disclosure vulnerability enable convincing social engineering attacks against administrators. When a device creates an access request, it specifies three fields: `clientId`, `description`, and `permissions`. The SignalK admin UI displays the `description` field prominently to the administrator when showing pending requests, but the actual `permissions` field (which determines the access level granted) is less visible or displayed separately. This allows an attacker to request `admin` permissions while providing a description that suggests readonly access. The access request handler trusts the `X-Forwarded-For` HTTP header without validation to determine the client's IP address. This header is intended to preserve the original client IP when requests pass through reverse proxies, but when trusted unconditionally, it allows attackers to spoof their IP address. The spoofed IP is displayed to administrators in the access request approval interface, potentially making malicious requests appear to originate from trusted internal network addresses. Since device/source names can be enumerated via the information disclosure vulnerability, an attacker can impersonate a legitimate device or source, craft a convincing description, spoof a trusted internal IP address, and request elevated permissions, creating a highly convincing social engineering scenario that increases the likelihood of administrator approval. Users should upgrade to version 2.19.0 to fix this issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

