Signal K Server is a server application that runs on a central hub in a boat. Versions prior to 2.19.0 of the appstore interface allow administrators to install npm packages through a REST API endpoint. While the endpoint validates that the package name exists in the npm registry as a known plugin or webapp, the version parameter accepts arbitrary npm version specifiers including URLs. npm supports installing packages from git repositories, GitHub shorthand syntax, and HTTP/HTTPS URLs pointing to tarballs. When npm installs a package, it can automatically execute any `postinstall` script defined in `package.json`, enabling arbitrary code execution. The vulnerability exists because npm's version specifier syntax is extremely flexible, and the SignalK code passes the version parameter directly to npm without sanitization. An attacker with admin access can install a package from an attacker-controlled source containing a malicious `postinstall` script. Version 2.19.0 contains a patch for the issue.
Signal K Server versions prior to 2.19.0 contain a critical code injection vulnerability (CWE-94) in the appstore interface REST API. Administrators can exploit unsanitized npm version parameters to install packages from attacker-controlled sources containing malicious postinstall scripts, leading to arbitrary code execution on the server. This affects maritime and IoT systems using Signal K for vessel monitoring and control. Immediate upgrade to version 2.19.0 is required.
Queued for AI Analysis
This CVE will be auto-analyzed on the next cron run.