elephant-tusk-runner @1.0.1
Vulnerability report · Last retrieved from osv.dev August 7, 2026 at 2:10 AM UTC
OSV ID
MAL-2026-13445
Ecosystem
npm
Summary
server.js starts an Express + WebSocket server via app.listen(PORT,...) with no host argument, defaulting the bind to 0.0.0.0, with fully open CORS (Access-Control-Allow-Origin: *) and no authentication. A WebSocket route /terminal-stream and HTTP POST /api/v1/workspace-terminal-command each spawn a bash or powershell.exe PTY and pipe network-received bytes directly into ptySession.write(...), giving any peer that can reach port 4201 an interactive shell on the host running the tool. Additional endpoints on the same listener call child_process.exec with attacker-controllable arguments, including git clone --depth=1 ${targetGitUrl}... , composer install && php artisan key:generate , npm install , php "${terminalFile}" , and taskkill/kill on arbitrary PIDs, plus a fetch-proxy that forwards arbitrary target URLs. The listener is started by npm start and by the tusk / elephant CLI shipped in the package's bin entries. On any developer or build machine on a shared or reachable network, this exposes a full remote-shell and remote-code-execution surface for the duration the tool runs.
Source: amazon-inspector (4ddbdcdca1756bee69586881547c9e63f555685a2e5e3daa68a9519987edd37a)
Protect your entire dependency tree
Scan your lock files automatically on every PR. Block malicious packages before they reach production.