CVE-2026-39320 Signal K Server has an Unauthenticated Regular Expression Denial of Service (ReDoS) via WebSocket Subscription Paths
Unauthenticated attackers can cause a total Denial of Service in Signal K Server by injecting regex metacharacters into WebSocket subscription paths.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-39320?
CVE-2026-39320 is a high-severity denial of service vulnerability in signalk-server, published on 21 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.25.0 are vulnerable to an unauthenticated Regular Expression Denial of Service (ReDoS) attack within the WebSocket subscription handling logic. By injecting unescaped regex metacharacters into the `context` parameter of a stream subscription, an attacker can force the server's Node.js event loop into a catastrophic backtracking loop when evaluating long string identifiers (like the server's self UUID). This results in a total Denial of Service (DoS) where the server CPU spikes to 100% and becomes completely unresponsive to further API or socket requests. Version 2.25.0 contains a fix.
Which versions are affected by CVE-2026-39320?
2 open source packages ship an affected version, including signalk-server. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
signalk-server npm | All versions | 2.25.0 |
signalk-server npm | All versions | 2.25.0 |
Products include Signalk Signal K Server.
How do I fix CVE-2026-39320?
Upgrade signalk-server to 2.25.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-39320 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-39320 exists.
Other vulnerabilities in signalk-server
- CVE-2026-23515 RCE - Command Injection in Signal K set-system-time plugin
- CVE-2025-66398 Signal K Server has Unauthenticated State Pollution leading to Remote Code Execution (RCE)
- CVE-2026-33950 signalk-server: Privilege Escalation by Admin Role Injection via /enableSecurity
- CVE-2025-68620 Signal K Server vulnerable to JWT Token Theft via WebSocket Enumeration and Unauthenticated Polling
- CVE-2026-41893 Signal K Server's WebSocket Login Endpoint Lacks Rate Limiting (Credential Brute-Force)
Sources
Also known as GHSA-7gcj-phff-2884.