CVE-2025-68620: Signal K Server JWT token theft via WebSocket enumeration

CVE-2025-68620 · Severity: critical · CVSS 9.1 · Published 2026-01-01

Signal K Server is an open-source server for marine data integration used on boats and marine systems. The vulnerability allows attackers to steal authentication tokens without any login credentials by combining unauthenticated WebSocket access with open access request APIs. An attacker can obtain admin-level tokens that grant full control of the system, including the ability to install malicious packages, or intercept tokens meant for legitimate devices.

Technologies: signalk-server (npm). Vendors: npm.

Quick answers

Is CVE-2025-68620 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-68620 being exploited in the wild.
How severe is CVE-2025-68620?
Critical severity, with a CVSS score of 9.1, published 1 January 2026.
Which products and versions are affected?
signalk-server (npm) SEMVER:introduced=0,fixed=2.19.0.
Is there a fix for CVE-2025-68620?
Yes. signalk-server (npm): upgrade to 2.19.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-68620 attacked?
It is attacked over the network.
Am I affected by CVE-2025-68620?
Check whether you run signalk-server (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • signalk-server (npm): upgrade to 2.19.0 or later
    npm install signalk-server@2.19.0

Technical details

This vulnerability combines two design flaws: (1) unauthenticated WebSocket clients connecting with the serverevents=all parameter receive all cached server events including ACCESS_REQUEST entries with request IDs and details, and (2) the access request status endpoint at /signalk/v1/access/requests/:id returns approved requests with JWT tokens in plaintext without requiring authentication. An attacker can enumerate pending requests from the WebSocket stream or create a spoofed request, then poll the endpoint repeatedly until an administrator approves it, at which point the JWT token is revealed. Both the WebSocket enumeration and REST polling endpoints are accessible to unauthenticated and read-only users. The vulnerability enables complete authentication bypass and account hijacking. Signal K Server versions 2.19.0-beta.4 and earlier are affected; version 2.19.0 patches the issue.

Affected products

  • Signal K Server <= 2.19.0-beta.4

Identifiers

  • CVE-2025-68620
  • GHSA-fq56-hvg6-wvm5

Timeline

  • 2026-01-02: disclosed
  • 2026-01-02: patched: Version 2.19.0 released with fix

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.