Skip to content
OpenAdvisories
Malicious MAL-2026-12969

bnpl-blocks-independent-bnpl-separator

npm package · versions 35.3.8

Reported Aug 5, 2026 · Updated Aug 5, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (a8e34f125883bf487e46fede3b2094978e853711c0688c8712cc5628e929f0ad)
Requiring this package triggers _init.js, which selects a platform-specific payload URL from string-concat-obfuscated Cloudflare Workers hostnames (oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev) with a DNS-TXT base64 reassembly fallback to sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The fetched bytes are written to /tmp or the Windows temp directory under disguised names such as dotnet_diag_*.exe and.cache_*, chmod 0755, and spawned detached via /bin/sh -c or cmd.exe /c start /b. Cover-story naming (`.analytics_state` run-once marker, DISABLE_TELEMETRY/DO_NOT_TRACK env checks) frames the behavior as analytics. A secondary dropper with the same fetch/writeFile/chmod/spawn shape ships in lib/telemetry.js, using base64-decoded payload chunks and split-string require('child_'+'process'). The destinations are non-publisher infrastructure, the payload bytes are opaque, and hostnames plus module names are assembled at runtime to evade static review.