Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed Signal K Server
-
DeliveryEstablish unauthenticated WebSocket connection
-
ExploitSend subscription with malicious regex in context parameter
-
ExecutionTrigger catastrophic backtracking in pattern matching
-
PersistBlock Node.js event loop
-
ImpactConsume 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – 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)
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
Affected Packages
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
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
Lifecycle Timeline
3DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
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
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-24021
GHSA-7gcj-phff-2884
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB