Skip to main content

Signal K Server CVE-2026-39320

| EUVDEUVD-2026-24021 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-04-21 GitHub_M GHSA-7gcj-phff-2884
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed Signal K Server
  2. Delivery
    Establish unauthenticated WebSocket connection
  3. Exploit
    Send subscription with malicious regex in context parameter
  4. Execution
    Trigger catastrophic backtracking in pattern matching
  5. Persist
    Block Node.js event loop
  6. Impact
    Consume 100% CPU and freeze all server operations

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions-remote unauthenticated exploitation against default configurations of Signal K Server. The vulnerability exists in the core WebSocket subscription handler, which is enabled by default and requires no authentication for establishing connections or sending subscription requests. The only prerequisite is network accessibility to the Signal K Server WebSocket endpoint (typically port 3000/tcp), which may be exposed intentionally for remote monitoring, accidentally via misconfigured firewalls, or through compromised onboard networks. The attack succeeds regardless of Signal K Server deployment mode (standalone, plugin-based, or integrated with OpenPlotter/Victron systems) and requires no user interaction, no special client software beyond basic WebSocket capability, and no prior knowledge of vessel-specific configurations. The trivial attack complexity (AC:L) reflects that exploitation requires only understanding the WebSocket subscription API format, which is documented in Signal K protocol specifications. No platform-specific constraints exist-the vulnerability affects Signal K Server across all operating systems (Linux, Windows, macOS) where Node.js runs. The single limiting factor for widespread exploitation is the specialized nature of Signal K deployments in marine environments, making targets less discoverable via broad internet scanning compared to general-purpose web applications.

Impact

Real-world risk assessment requires balancing multiple signals. The CVSS 7.5 (High) severity reflects maximum availability impact (A:H) with network-accessible, low-complexity, unauthenticated exploitation (AV:N/AC:L/PR:N/UI:N), indicating trivial attack requirements. However, EPSS score of 0.04% (13th percentile) suggests extremely low probability of exploitation in the wild, likely due to Signal K Server's niche deployment in marine environments rather than enterprise IT infrastructure. The vulnerability is NOT listed in CISA KEV, confirming no known active exploitation. GitHub security advisory GHSA-7gcj-phff-2884 provides detailed technical analysis and proof-of-concept details, lowering the barrier for adversaries but still requiring knowledge of Signal K's specialized ecosystem. From an SSVC perspective: exploitation status is 'public' (detailed advisory), automatable is 'yes' (simple network request), technical impact is 'partial' (availability only, no C/I), and mission impact depends entirely on vessel criticality-recreational boats have minimal impact, but commercial vessels or critical maritime infrastructure could face significant operational disruption. Priority should be HIGH for any production marine deployment but LOW for development/test environments. The 100% CPU consumption and complete unresponsiveness distinguish this from partial degradation DoS vulnerabilities. Main limiting factor: attacker must specifically target Signal K installations, which are not discoverable via typical internet scanning unless exposed through port forwarding or cloud deployments.

Exploit ScenarioDerived

An attacker identifies a Signal K Server instance exposed to the internet (common in cloud-based fleet management or remote monitoring scenarios) by scanning for default port 3000 or identifying the WebSocket endpoint through banner grabbing. Without authentication, the attacker establishes a WebSocket connection and sends a subscription message with a maliciously crafted context parameter containing regex metacharacters designed for catastrophic backtracking (e.g., nested quantifiers like '(a+)+' or alternation patterns). When the server attempts to match this pattern against its own UUID string or other identifier during subscription filtering, the Node.js event loop enters exponential-time evaluation, consuming 100% CPU and blocking all other operations. The vessel's navigation system becomes completely unresponsive, disrupting real-time sensor data aggregation, chart plotting, autopilot integration, and AIS transponder functionality. The attack requires only basic WebSocket client capabilities (curl, wscat, or any browser console) and knowledge of Signal K's subscription API structure, both publicly documented.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Apr 21, 2026

Signal K Server versions before 2.25.0 allow remote unauthenticated attackers to crash the server via Regular Expression Denial of Service (ReDoS) in WebSocket subscription handling. By injecting unescaped regex metacharacters into the context parameter, attackers trigger catastrophic backtracking that consumes 100% CPU and renders the server completely unresponsive to all API and socket requests. This creates a complete denial of service for marine navigation systems relying on Signal K Server as their central data hub. While EPSS score is low (0.04%, 13th percentile), the trivial exploitation complexity (AV:N/AC:L/PR:N/UI:N) and complete availability impact make this a priority for boat operators running vulnerable versions. No public exploit identified at time of analysis, but the GitHub security advisory provides clear technical details. Vendor-released patch available in version 2.25.0.

Earlier versions of this analysis (1)
v1 Apr 21, 2026 - 01:23 CVSS 7.5

Regular Expression Denial of Service in Signal K Server versions before 2.25.0 allows unauthenticated remote attackers to completely freeze the server by sending crafted WebSocket subscription requests with malicious regex metacharacters in the context parameter. The attack forces catastrophic backtracking that pins CPU at 100% and renders the entire boat monitoring hub unresponsive. Fix available in version 2.25.0. EPSS data not available, but severity is HIGH (CVSS 7.5) due to zero authentication requirement and operational impact on maritime safety systems.

RemediationAI

Upgrade immediately to Signal K Server version 2.25.0 or later, released by the vendor with commit 215d81eb700d5419c3396a0fbf23f2e246dfac2d (https://github.com/SignalK/signalk-server/commit/215d81eb700d5419c3396a0fbf23f2e246dfac2d) and merged via pull request #2568. The fix implements proper input sanitization for regex metacharacters in WebSocket subscription context parameters. Download from official release page: https://github.com/SignalK/signalk-server/releases/tag/v2.25.0. For installations unable to upgrade immediately, implement network-level access controls to restrict WebSocket connections to trusted IP addresses only-configure firewall rules to block external access to Signal K Server ports (typically 3000/tcp) and require VPN or local network access. This workaround significantly reduces attack surface but requires careful network segmentation planning to maintain legitimate remote monitoring capabilities. Alternatively, deploy a reverse proxy (nginx, HAProxy) with request rate limiting and WebSocket message size restrictions as a temporary measure, though this adds complexity and may impact legitimate high-frequency data streams. Note that disabling WebSocket functionality entirely breaks core Signal K Server functionality and is not a viable long-term mitigation. All marine operators should validate patch deployment and monitor CPU utilization for anomalous spikes indicating potential exploitation attempts.

Affected VersionsENISA

signalk-server < 2.25.0

Affected Packages

npm signalk-server fix: 2.25.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Signal K Server is a Node.js-based application that serves as a centralized data hub for marine vessels, aggregating sensor data, GPS, AIS, and other navigation information via standardized protocols. This vulnerability exploits algorithmic complexity in regular expression evaluation-specifically, the WebSocket subscription handler fails to sanitize regex metacharacters in the context parameter before using it to match against UUID strings. When an attacker provides input designed to cause catastrophic backtracking (a known ReDoS pattern), Node.js's single-threaded event loop becomes blocked in exponential-time regex evaluation. The vulnerability is classified as CWE-400 (Uncontrolled Resource Consumption), reflecting the lack of input validation and resource limits on regex operations. The affected component is the subscription filtering logic that matches incoming data streams to client subscriptions, a core function executed on every WebSocket message. The CPE identifier cpe:2.3:a:signalk:signalk-server confirms this is specific to the Signal K Server product, not the broader Signal K protocol or client implementations.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch released
Apr 24, 2026 - 20:51 nvd
Patch available
Patch available
Apr 21, 2026 - 02:01 EUVD
CVE Published
Apr 21, 2026 - 00:07 nvd
HIGH 7.5

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Signal K Server versions before 2.25.0 contain a regular expression denial of service vulnerability that allows unauthenticated attackers to completely disable the server through crafted WebSocket requests, directly impacting maritime vessel monitoring and safety operations. Organizations relying on Signal K for boat monitoring hub functionality face complete service outage risk without authentication barriers. This vulnerability requires immediate patching to restore operational resilience.

Business Impact: High
Compensating Controls

Vendor-released patch: Signal K Server version 2.25.0. If immediate patching is not possible, implement network-level access controls restricting WebSocket connections to trusted internal networks only, and monitor for connection attempts with regex metacharacters in subscription parameters.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy