CVE-2025-68620

CRITICALNVD 9.19.1
EchelonGraph scoreMEDIUM confidence

This critical-severity CVE scores 9.1 under NVD CVSS v3. EPSS exploit probability: 0.1%, top 79% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, nvd
Elevated
9.1
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 9.1Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.19.0 expose two features that can be chained together to steal JWT authentication tokens without any prior authentication. The attack combines WebSocket-based request enumeration with unauthenticated polling of access request status. The first is Unauthenticated WebSocket Request Enumeration: When a WebSocket client connects to the SignalK stream endpoint with the serverevents=all query parameter, the server sends all cached server events including ACCESS_REQUEST events that contain details about pending access requests. The startServerEvents function iterates over app.lastServerEvents and writes each cached event to any connected client without verifying authorization level. Since WebSocket connections are allowed for readonly users (which includes unauthenticated users when allow_readonly is true), attackers receive these events containing request IDs, client identifiers, descriptions, requested permissions, and IP addresses. The second is Unauthenticated Token Polling: The access request status endpoint at /signalk/v1/access/requests/:id returns the full state of an access request without requiring authentication. When an administrator approves a request, the response includes the issued JWT token in plaintext. The queryRequest function returns the complete request object including the token field, and the REST endpoint uses readonly authentication, allowing unauthenticated access. An attacker has two paths to exploit these vulnerabilities. Either the attacker creates their own access request (using the IP spoofing vulnerability to craft a convincing spoofed request), then polls their own request ID until an administrator approves it, receiving the JWT token; or the attacker passively monitors the WebSocket stream to discover request IDs from legitimate devices, then polls those IDs and steals the JWT tokens when administrators approve them, hijacking legitimate device credentials. Both paths require zero authentication and enable complete authentication bypass. Version 2.19.0 fixes the underlying issues.

CVSS v3
9.1
EG Score
9.1(medium)
EG Risk
EPSS
39.3%
KEV
Not listed

Published

January 1, 2026

Last Modified

January 6, 2026

Advisory Details (2)

Auto-updated Jul 20, 2026
🔬 Proof of concept available. Patch available. Sources: github_release, github.
github Patch Available🟡 PoC Available

JWT Token Theft via WebSocket Enumeration and Unauthenticated Polling · Advisory · SignalK/signalk-server · GitHub

https://github.com/SignalK/signalk-server/security/advisories/GHSA-fq56-hvg6-wvm5
github_release Patch Available

v2.19.0

Patch available: SignalK/signalk-server v2.19.0

https://github.com/SignalK/signalk-server/releases/tag/v2.19.0

Affected Packages

(1 across 1 ecosystem)
npm(1)
PackageVulnerable rangeFixed inDependents
signalk-server2.19.0

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 9× in last 7d / 42× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-22 14:08 UTCEPSS rescore
  2. 2026-07-21 15:24 UTCEPSS rescore
  3. 2026-07-20 17:08 UTCEPSS rescore
  4. 2026-07-19 02:28 UTCEPSS rescore
  5. 2026-07-19 02:28 UTCEPSS rescore
  6. 2026-07-18 10:04 UTCEPSS rescore
  7. 2026-07-18 10:04 UTCEPSS rescore
  8. 2026-07-16 17:02 UTCEPSS rescore
  9. 2026-07-16 17:02 UTCEPSS rescore
  10. 2026-07-15 16:57 UTCEPSS rescore
  11. 2026-07-15 16:57 UTCEPSS rescore
  12. 2026-07-15 02:00 UTCEPSS rescore
  13. 2026-07-15 01:59 UTCEPSS rescore
  14. 2026-07-13 06:12 UTCEPSS rescore
  15. 2026-07-12 05:46 UTCEPSS rescore
  16. 2026-07-12 05:46 UTCEPSS rescore
  17. 2026-07-11 08:27 UTCEPSS rescore
  18. 2026-07-11 08:27 UTCEPSS rescore
  19. 2026-07-09 19:10 UTCEPSS rescore
  20. 2026-07-08 15:15 UTCEPSS rescore
  21. 2026-07-07 13:46 UTCEPSS rescore
  22. 2026-07-06 06:32 UTCOSV refresh
  23. 2026-07-06 02:23 UTCEPSS rescore
  24. 2026-07-05 02:30 UTCEPSS rescore
  25. 2026-07-05 02:30 UTCEPSS rescore
Show 61 more
  1. 2026-07-04 06:31 UTCEPSS rescore
  2. 2026-07-04 06:31 UTCEPSS rescore
  3. 2026-07-01 15:06 UTCEPSS rescore
  4. 2026-06-30 23:22 UTCEPSS rescore
  5. 2026-06-30 23:22 UTCEPSS rescore
  6. 2026-06-29 14:06 UTCEPSS rescore
  7. 2026-06-29 14:06 UTCEPSS rescore
  8. 2026-06-28 14:07 UTCEPSS rescore
  9. 2026-06-28 14:07 UTCEPSS rescore
  10. 2026-06-28 04:56 UTCEPSS rescore
  11. 2026-06-28 04:56 UTCEPSS rescore
  12. 2026-06-27 03:08 UTCEPSS rescore
  13. 2026-06-25 13:49 UTCEPSS rescore
  14. 2026-06-25 13:49 UTCEPSS rescore
  15. 2026-06-24 14:05 UTCEPSS rescore
  16. 2026-06-24 14:04 UTCEPSS rescore
  17. 2026-06-23 21:32 UTCEPSS rescore
  18. 2026-06-22 14:25 UTCEPSS rescore
  19. 2026-06-22 14:25 UTCEPSS rescore
  20. 2026-06-21 14:56 UTCEPSS rescore
  21. 2026-06-21 14:56 UTCEPSS rescore
  22. 2026-06-21 01:59 UTCEPSS rescore
  23. 2026-06-21 01:59 UTCEPSS rescore
  24. 2026-06-19 19:25 UTCEPSS rescore
  25. 2026-06-19 19:25 UTCEPSS rescore
  26. 2026-06-18 17:52 UTCEPSS rescore
  27. 2026-06-18 17:52 UTCEPSS rescore
  28. 2026-06-17 18:13 UTCOSV refresh
  29. 2026-06-17 17:53 UTCEPSS rescore
  30. 2026-06-16 17:52 UTCEPSS rescore
  31. 2026-06-15 17:48 UTCEPSS rescore
  32. 2026-06-14 23:18 UTCEPSS rescore
  33. 2026-06-13 23:00 UTCEPSS rescore
  34. 2026-06-13 23:00 UTCEPSS rescore
  35. 2026-06-12 23:12 UTCEPSS rescore
  36. 2026-06-12 23:12 UTCEPSS rescore
  37. 2026-06-11 14:00 UTCEPSS rescore
  38. 2026-06-10 22:18 UTCEPSS rescore
  39. 2026-06-10 13:22 UTCEPSS rescore
  40. 2026-06-08 14:17 UTCEPSS rescore
  41. 2026-06-08 14:17 UTCEPSS rescore
  42. 2026-06-07 15:24 UTCEPSS rescore
  43. 2026-06-07 15:24 UTCEPSS rescore
  44. 2026-06-06 13:47 UTCEPSS rescore
  45. 2026-06-06 13:47 UTCEPSS rescore
  46. 2026-06-05 22:47 UTCEPSS rescore
  47. 2026-06-05 22:46 UTCEPSS rescore
  48. 2026-06-05 06:10 UTCEPSS rescore
  49. 2026-06-05 06:10 UTCEPSS rescore
  50. 2026-06-04 13:12 UTCEPSS rescore
  51. 2026-06-04 13:12 UTCEPSS rescore
  52. 2026-06-02 20:13 UTCEPSS rescore
  53. 2026-06-01 13:51 UTCEPSS rescore
  54. 2026-06-01 13:51 UTCEPSS rescore
  55. 2026-05-31 22:30 UTCEPSS rescore
  56. 2026-05-31 22:30 UTCEPSS rescore
  57. 2026-05-31 00:16 UTCEPSS rescore
  58. 2026-05-31 00:16 UTCEPSS rescore
  59. 2026-05-29 16:48 UTCEG score recompute
  60. 2026-05-29 13:44 UTCEPSS rescore
  61. 2026-05-29 13:44 UTCEPSS rescore

Frequently asked(5)

What is CVE-2025-68620?
CVE-2025-68620 is a critical vulnerability published on January 1, 2026. Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.19.0 expose two features that can be chained together to steal JWT authentication tokens without any prior authentication. The attack combines WebSocket-based request enumeration with unauthenticated…
When was CVE-2025-68620 disclosed?
CVE-2025-68620 was first published in the National Vulnerability Database on January 1, 2026, with the most recent update on January 6, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-68620 actively exploited?
CVE-2025-68620 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 39.3% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2025-68620?
CVE-2025-68620 has a CVSS v3 base score of 9.1 (NVD).
How do I remediate CVE-2025-68620?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-68620, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2025-68620

Explore →

Is Your Infrastructure Affected by CVE-2025-68620?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.