MAL-2026-13406
Dashboard / Malicious Package / MAL-2026-13406
MAL-2026-13406
Summary: Malicious code in 9remote (npm)
Details: Source: amazon-inspector (4160b2e2774d56c9e7373db28a4073d456248d0fe9b55979fa507f0910b65ce0) 9remote is a remote-shell tool: its CLI launches an HTTP/WebSocket server and provisions a Cloudflare Quick Tunnel that exposes the host to the public internet at a 9remote.cc-fronted URL. Incoming WebSocket `input` messages are forwarded verbatim into a locally spawned PTY (bash/zsh on Unix, cmd.exe/powershell.exe on Windows) via `pty.write(s.data)`, after `spawn(o.path, o.args,...)` in the pty daemon. The server's router treats requests bearing the `cf-connecting-ip` header as remote-authorized. Access is gated by a short-lived (~30-minute) one-time pair key shown as a QR code; anyone who obtains that key over the tunnel obtains a full interactive shell on the host with the user's privileges. The package is invoked explicitly by the operator (bin entry, not lifecycle scripts or top-level require side effects), and the tunnel terminates at first-party infrastructure (9remote.cc / Cloudflare), so this is the advertised behavior of the tool rather than a covert channel — but the blast radius on any host where the CLI is run is full-host remote code execution behind a single short-lived key.
References: https://www.npmjs.com/package/9remote/v/2.1.5, https://www.npmjs.com/package/9remote/v/2.1.14, https://www.npmjs.com/package/9remote/v/2.1.20, https://www.npmjs.com/package/9remote/v/2.1.9, https://www.npmjs.com/package/9remote/v/2.1.16, https://www.npmjs.com/package/9remote/v/2.1.21, https://www.npmjs.com/package/9remote/v/2.1.6, https://www.npmjs.com/package/9remote/v/2.2.5, https://www.npmjs.com/package/9remote/v/2.2.6, https://www.npmjs.com/package/9remote/v/2.1.1
Affected packages
Package
Name: 9remote
Purl: pkg:npm/9remote
Affected ranges
Type: N/A
Events:
