Skip to content
OpenAdvisories
Malicious MAL-2026-12953

bnpl-blocks-independent-bnpl-code-text

npm package · versions 35.2.4

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 (49319e79d8d8fa0eba8e5c5394b3f94eca3e656af0ff26e3326fa456235ed4b1)
On require() of the package, index.js loads _init.js which HTTPS-fetches a platform-specific binary (linux_x64, linux_arm64, darwin, win32) from one of four obfuscated Cloudflare Workers hosts (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev), with a DNS-TXT base64-chunked fallback via sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched bytes are written to /tmp or Windows Temp under disguised names (.cache_<rand>, dotnet_diag_<rand>.exe), chmod 0755, and spawned detached via /bin/sh -c or cmd. Destination hosts are reconstructed at runtime by splitting and joining string fragments, filenames impersonate dotnet diagnostics, the fetched payload is not hash- or signature-verified, and none of this behavior relates to the package's stated BNPL purpose. lib/telemetry.js ships a duplicate copy of the same dropper primitives (base64 chunked fetch, chmod 0755, /bin/sh -c detached spawn) under an analytics-SDK cover story, currently unreferenced from the main entry.