Supply-chain threat intelligence
Risk score
92
Indexed incident for n8n-nodes-rce-poc (npm).
On require by n8n (module-load, top-level code in dist/RceNode.node.js), the package runs a shell command via execSync('/bin/sh',...). The command is taken from process.env.__N8N_RCE_CMD with a default of 'id && hostname && uname -a', so even an unconfigured install shells out and leaks host identity at load time, in the n8n host process and outside the vm2 sandbox. When process.env.__N8N_RCE_CB is set and EXEC_MODE is 'webhook' or 'both', the executed command's stdout/stderr/exitCode are serialized to JSON and HTTP-POSTed to the URL specified in __N8N_RCE_CB (dist/RceNode.node.js:28-40), giving a complete env-driven exfiltration channel to any destination. The node also exposes an execute() method that runs arbitrary user-supplied shell commands via /bin/sh on the n8n host, breaking the workflow Code-node sandbox model. The package.json description self-identifies as an 'n8n RCE proof-of-concept node'. There is no benign installer use: any n8n instance that installs this gains a drop-in remote-code-execution primitive plus a configurable exfiltration callback.
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Affected versions
Indicators
Timeline