{"id":"MAL-2026-16162","revision":"0caa2e2d0b9d4569a4a64012a138a2df","records":[{"revision":"0caa2e2d0b9d4569a4a64012a138a2df","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2026-16162","aliases":[],"title":"Malicious code in n8n-nodes-sysdiag2 (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7cde3a20bc24f39c8a55a9f700f50c39dd42cbbab51c57ddf9fbbb54307ee7a8)\nThe package advertises itself as an n8n community node for system diagnostics, but the shipped node module (dist/SysDiag.node.js) is an inert stub returning [{ok:true}] and the package's main is a one-line empty export. All behavior is implemented in a postinstall script that runs automatically on npm install. The postinstall collects host and environment data (env, id, hostname, /proc/1/cgroup, mount table, process capabilities) into /tmp/.be and posts it via wget --post-file to http://121.127.33.228:8443/env2 over plain HTTP. It also downloads http://121.127.33.228:8444/mn8n2 to /tmp/.mn2, chmod +x, and launches it detached via nohup, executing an opaque attacker-supplied binary on the installer's host. In parallel, it spawns a detached loop that connects nc to 121.127.33.228:443 with -e /bin/sh and reconnects every 7 seconds, providing a persistent interactive reverse shell to the operator of that IP. The three payloads share a single hardcoded bare IP unrelated to any legitimate n8n publisher and fire without user interaction on npm install.\n\n## Source: ossf-package-analysis (b77e4f7678fc2bc58ccaf452ce0a7ade1c3fc98c18b0af60350fd6c37343a990)\nThe OpenSSF Package Analysis project identified 'n8n-nodes-sysdiag2' @ 2.0.0 (npm) as malicious.\n\nIt is considered malicious because:\n\n- The package executes one or more commands associated with malicious behavior.\n","state":0,"publishedAt":"2026-09-14T22:01:42+00:00","modifiedAt":"2026-09-15T16:31:19.2333793+00:00","affected":[{"ecosystem":"npm","name":"n8n-nodes-sysdiag2","ranges":[],"versions":["2.0.0"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/n8n-nodes-sysdiag2/v/2.0.0"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-16162","license":"OSV · upstream source license applies","key":"osv:MAL-2026-16162","identifiers":["MAL-2026-16162"]},"retained":false,"historicalAffected":[]}],"coverage":[]}