{"id":"MAL-2026-18357","revision":"30ade648870148a090e2d2a246854e54","records":[{"revision":"30ade648870148a090e2d2a246854e54","observedAt":"2026-10-29T14:12:32.841+00:00","statement":{"source":"osv","id":"MAL-2026-18357","aliases":[],"title":"Malicious code in csvflow-schema (npm)","description":"csvflow-schema is described as a \"Lightweight CSV column-schema validation helper\" (index.js exports a small validateSchema function) and adds a postinstall script that runs `node ./postinstall.js` on npm install. postinstall.js writes the username, hostname, working directory, parent process id and install path to `csvflow_schema/pi_2c75177b.ok` in the system temp directory, starts `calc.exe` through `cmd /c start`, and sends an HTTPS GET to `https://cdn-status.mulderitsme.net/pi/2c75177b`, a fixed-id install beacon. The npm account f0x_mulder published 1.0.0 on 2026-10-26, a minute after a 0.0.0-stage placeholder, and npm removed the package 17 minutes later.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (e9875c39a2aa68e4b0e18354d0fb7063c02f449d6f1f6b3c420f812cec979351)\ncsvflow-schema advertises itself as a CSV schema helper but ships a postinstall.js that, on npm install, unconditionally spawns calc.exe via `cmd /c start` and performs an HTTPS GET to the hardcoded non-publisher host cdn-status.mulderitsme.net with a per-install identifier path (/pi/2c75177b). The script also collects local identity data (os.userInfo().username, os.hostname(), process.cwd(), ppid) into a temp file. The code execution primitive (arbitrary child_process spawn at install time) and the callback to a hardcoded third-party host unrelated to any CSV functionality are consistent with a dropper or PoC that proves arbitrary code execution and network reachability on the installer. The declared package purpose (CSV schema helper) has no need for child_process, calculator invocation, or beaconing to an external domain.\n","state":0,"publishedAt":"2026-10-26T18:22:11+00:00","modifiedAt":"2026-10-29T13:30:04.7256112+00:00","affected":[{"ecosystem":"npm","name":"csvflow-schema","ranges":[],"versions":["1.0.0"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/csvflow-schema","https://www.npmjs.com/package/csvflow-schema/v/1.0.0"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-18357","license":"OSV · upstream source license applies","key":"osv:MAL-2026-18357","identifiers":["MAL-2026-18357"]},"retained":false,"historicalAffected":[]}],"coverage":[]}