Executive Summary
CVE-2026-118690 is a critical missing-authentication vulnerability (CVSS 9.8) in Signal K Server, the open-source data hub commonly used on boats and marine IoT gateways. Versions before 2.33.0 allow an unauthenticated remote attacker to download server log archives through the /skServer/ziplogs endpoint. Because the archive contains security.json, the attacker can extract the JWT secretKey, forge administrator tokens, and create persistent access.
NVD published the entry on 2026-10-28.
Vulnerability Details
| Field | Details |
|---|---|
| CVE | CVE-2026-118690 |
| CVSS Score | 9.8 (Critical) |
| Type | Missing Authentication for a Critical Function |
| Product | Signal K Server |
| Affected Versions | Before 2.33.0 |
| Endpoint | /skServer/ziplogs |
| Authentication Required | None |
| Published | 2026-10-28 |
Attack Chain
- The attacker sends an unauthenticated request to
/skServer/ziplogson a reachable Signal K Server. - The server returns a ZIP archive of its logs.
- The archive includes
security.json, which holds the JWTsecretKeyused to sign authentication tokens. - With the secret, the attacker signs their own administrator JWTs.
- The forged tokens are used to create persistent access, such as additional accounts or credentials.
Because the signing key is the root of trust for the server, a leaked key stays dangerous after the initial download until it is rotated.
Impact
- Full administrative control of the Signal K Server instance
- Exposure of configuration and log data held in the archive
- Persistent access that survives a simple restart
- Potential visibility into, or influence over, connected vessel data feeds
Signal K deployments are often reachable from shore networks or the internet for remote monitoring, which raises the exposure of this flaw.
Remediation
- Upgrade to Signal K Server 2.33.0 or later.
- Rotate the JWT
secretKeyinsecurity.jsonafter upgrading, since any previously downloaded archive exposes the old key. Invalidate existing tokens. - Review users and access tokens for accounts or devices you did not create.
- Remove direct internet exposure. Put the server behind a VPN or an authenticating reverse proxy.
- Check web logs for unauthenticated requests to
/skServer/ziplogs.