CVE-2025-68619
WysokieStreszczenie
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ę.
Ocena ryzyka
Atakujący z dostępem administratorskim może wykonać dowolny kod na serwerze, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Zaktualizuj Signal K Server do wersji 2.19.0 lub nowszej. Ogranicz dostęp administracyjny do zaufanych użytkowników.
Inne podatności w Signal K Server
Zobacz wszystkie- 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. Versions prior to 2.19.0 of the appstore interface allow administrators to install npm packages through a REST API endpoint. While the endpoint validates that the package name exists in the npm registry as a known plugin or webapp, the version parameter accepts arbitrary npm version specifiers including URLs. npm supports installing packages from git repositories, GitHub shorthand syntax, and HTTP/HTTPS URLs pointing to tarballs. When npm installs a package, it can automatically execute any `postinstall` script defined in `package.json`, enabling arbitrary code execution. The vulnerability exists because npm's version specifier syntax is extremely flexible, and the SignalK code passes the version parameter directly to npm without sanitization. An attacker with admin access can install a package from an attacker-controlled source containing a malicious `postinstall` script. Version 2.19.0 contains a patch for

