CVE-2026-55591
ŚrednieCVSS 5.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja może doświadczyć wycieku danych z wewnętrznych usług, skanowania portów i potencjalnego ruchu bocznego w infrastrukturze, co może prowadzić do pełnego przejęcia systemów.
Rekomendacja
Zaleca się aktualizację Signal K Server do wersji 2.28.0 lub nowszej oraz skonfigurowanie uwierzytelniania i walidacji parametrów wyjściowych.
Inne podatności w Signal K Server
Zobacz wszystkie- CVE-2025-68619Wysokie
Signal K Server przed wersją 2.19.0 pozwala administratorom instalować pakiety npm przez interfejs API. Parametr wersji akceptuje dowolne specyfikatory npm, w tym URL-e, co umożliwia wykonanie złośliwego kodu przez skrypty postinstall. Wersja 2.19.0 zawiera poprawkę.
- CVE-2025-68272Wysokie
Signal K Server przed wersją 2.19.0 ma podatność na atak DoS, która pozwala nieuwierzytelnionemu atakującemu na zalanie endpointu /signalk/v1/access/requests, powodując błąd 'JavaScript heap out of memory' i awarię serwera. Wersja 2.19.0 naprawia problem.
- 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 umożliwia nieuwierzytelnionemu atakującemu połączenie dwóch funkcji w celu kradzieży tokenów JWT: nieuwierzytelnione wyliczanie żądań WebSocket oraz nieuwierzytelnione odpytywanie statusu żądań dostępu.
- 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-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.
Oryginalny opis (angielski, źródło NVD)
Signal K Server is a server application that runs on a central hub in a boat. Prior to 2.28.0, makeRemoteRequest() in src/serverroutes.ts accepted attacker-controlled host, port, useTLS, and selfsignedcert parameters from the testSignalKConnection, requestAccess, and checkAccessRequest endpoints without validating the destination. When security was not configured, addAdminMiddleware() was a no-op in dummysecurity.ts, leaving all three endpoints accessible without authentication. The server could be forced to contact loopback, private, link-local, cloud metadata, or arbitrary external destinations, and selfsignedcert could disable certificate verification for outbound HTTPS requests. The checkAccessRequest endpoint also interpolated requestId into its destination path, allowing traversal to other paths on the selected host. Distinct success, connection-refused, and timeout responses enabled internal port scanning; returned response bodies enabled cloud metadata and internal-service data exfiltration; requestAccess enabled server-side POST requests with attacker-controlled JSON; and access to cluster-internal services could support lateral movement. This issue is fixed in version 2.28.0.

