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-2026-118690Krytyczne
Signal K Server przed wersją 2.33.0 zawiera lukę braku uwierzytelniania, która pozwala nieuwierzytelnionym zdalnym atakującym pobierać archiwa logów przez endpoint `/skServer/ziplogs`. Atakujący mogą wyodrębnić `secretKey` JWT z `security.json` w pliku ZIP, sfałszować tokeny administratora i utworzyć trwałe konta administracyjne. Luka jest naprawiona w wersji 2.33.0.
- 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-115752Średnie
Signal K Server od wersji 2.28.0-beta.2 przed 2.34.0 zawiera podatność SSRF w mechanizmie pobierania ikon App Store, który ufa absolutnym URLom signalk.appIcon. Atakujący publikujący pakiety npm ze słowami kluczowymi Signal K może wymusić żądania do loopback, sieci statku lub punktów metadanych chmury, a odpowiedzi obrazów są przechowywane i serwowane przez panel administracyjny.
- 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-69203Średnie
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ń.
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

