MAL-2026-13024
Dashboard / Malicious Package / MAL-2026-13024
MAL-2026-13024
Summary: Malicious code in bnpl-forms-test-utils (npm)
Details: Source: amazon-inspector (4cd6e149b86406225e3aca99e9bbae44cf13c0c7d5e10be27155162b63832f2f) On `require('bnpl-forms-test-utils')`, index.js loads _platform.js, which selects a platform-specific endpoint and downloads an opaque binary via https.get from one of three Cloudflare Workers hosts reconstructed at runtime from split-string arrays: oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev, and oob-worker.cf103-070.workers.dev. A DNS TXT fallback under {sdk,ext,pkg,net}.dl.wel1.ru reassembles base64 chunks when the HTTPS hosts fail. The fetched bytes are written to /var/tmp or %TEMP% under masquerading names (.cache_<hex> on Unix, dotnet_diag_<hex>.exe on Windows), chmod 0755'd, and detached via spawn('/bin/sh', ['-c', path+' &'], {detached:true}) or spawn('cmd.exe', ['/c', 'start',...]). Hostnames and API names are obfuscated via array-join and string concatenation (e.g. require('child_'+'process'), fs['chmod'+'Sync']). A second dropper module lib/telemetry.js (~81 KB) shipped in the tarball implements the same fetch/chmod/spawn/detach pattern with identical obfuscation, though it is not referenced from the current main. The declared purpose is `common helpers`; no native source ships in the package to justify the binary download.
Affected packages
Package
Name: bnpl-forms-test-utils
Purl: pkg:npm/bnpl-forms-test-utils
Affected ranges
Type: N/A
Events:
