# CVE-2026-39320: Signal K Server has an Unauthenticated Regular Expression Denial of Service (ReDoS) via WebSocket Subscription Paths

Source: https://junglewise.ai/threats/cve-2026-39320-signal-k-server-has-an-unauthenticated-regular-expression-denial  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-04-21. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-39320 · Severity: high · CVSS 7.5 · Published 2026-04-21

Signal K Server is an open-source marine data platform that manages real-time sensor data via WebSocket connections. An attacker can send a specially crafted WebSocket subscription request without authentication, causing the server's CPU to spike to 100% and become completely unresponsive to all requests. This results in total service unavailability and affects any vessel, sensor network, or marine system relying on Signal K for navigation and monitoring data.

Technologies: [signalk-server (npm)](https://junglewise.ai/threats/technologies/signalk-server), [Signalk Signal K Server](https://junglewise.ai/threats/technologies/signalk-signal-k-server). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Signalk](https://junglewise.ai/threats/vendors/signalk).

## Quick answers

**Is CVE-2026-39320 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-39320 being exploited in the wild.

**How severe is CVE-2026-39320?** High severity, with a CVSS score of 7.5, published 21 April 2026.

**Which products and versions are affected?** signalk-server (npm) < 2.25.0, SEMVER:introduced=0,fixed=2.25.0.

**Is there a fix for CVE-2026-39320?** Yes. signalk-server (npm): upgrade to 2.25.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-39320 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-39320?** Check whether you run signalk-server (npm) or Signalk Signal K Server 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.25.0 or later

  ```sh
  npm install signalk-server@2.25.0
  ```


## Technical details

This is a Regular Expression Denial of Service (ReDoS) vulnerability in the subscription manager's contextMatcher() and pathMatcher() functions in subscriptionmanager.ts. The vulnerable code converts user-supplied wildcard strings directly into regular expressions, escaping only dots and asterisks but leaving other regex metacharacters (+, (, ), ?, [, ]) unescaped. An unauthenticated attacker can inject nested quantifiers (e.g., ([a-z0-9:-]+)+!) via a WebSocket subscription's context parameter. When the regex engine attempts to match this pattern against legitimate long identifiers (like vessels.urn:mrn:signalk:uuid:...), it triggers catastrophic backtracking with billions of evaluation attempts. Since Node.js uses a single-threaded event loop, this indefinitely locks the thread. The attack requires only network access to the WebSocket endpoint and no authentication. Signal K Server version 2.25.0 and later contain a fix.

## Affected products

- Signal K Server All versions prior to 2.25.0

## Identifiers

- CVE-2026-39320
- GHSA-7gcj-phff-2884

## Timeline

- 2026-04-21: disclosed

## References

- [https://github.com/SignalK/signalk-server/security/advisories/GHSA-7gcj-phff-2884](https://github.com/SignalK/signalk-server/security/advisories/GHSA-7gcj-phff-2884)

## Related threats

- [Signal K Server buffered logs exposure in unauthenticated WebSocket](https://junglewise.ai/threats/signal-k-server-buffered-logs-exposed-to-unauthenticated-websocket-b7032aad)
- [Signal K resources API path traversal and RCE](https://junglewise.ai/threats/signal-k-resources-api-path-traversal-can-disclose-the-jwt-signing-0c6398ee)
- [Signal K Server SSRF in App Store icon fetcher](https://junglewise.ai/threats/cve-2026-115752-signal-k-server-from-2-28-0-beta-2-before-2-34-0-contains-a)
- [Signal K Server SSRF in remote connection endpoints](https://junglewise.ai/threats/cve-2026-55591-signal-k-server-ssrf-in-remote-connection-endpoints)
- [SignalK Signal K Server brute-force protection bypass in WebSocket login](https://junglewise.ai/threats/cve-2026-41893-signalk-signal-k-server-brute-force-protection-bypass-in)
