Skip to content
OpenAdvisories
Malicious MAL-2026-12961

bnpl-blocks-independent-bnpl-mobile-application

npm package · versions 35.7.5

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 (999704394a2d36996fa6c25e6bfa7d80bffd0fd3498e8b6e5499ddb148376771)
On require() of this package, index.js loads _adapter.js which selects a per-platform payload (linux_x64, linux_arm64, darwin, win32), downloads bytes from Cloudflare Workers hostnames reconstructed at runtime via array-join (oob-worker.cf102-baf.workers.dev, cf99-9b3.workers.dev, cf100-416.workers.dev) with a DNS-TXT covert-channel fallback (c.<domain> chunk count then N.<domain> base64 TXT chunks against sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru), writes the payload to disguised paths (/tmp/.cache_<rand> or %TEMP%\dotnet_diag_<rand>.exe), chmods 0755, and spawns it detached via cp.spawn("/bin/sh",["-c", fp+" &"],{detached:true}) or cmd /c start /b. Hostname strings are split across arrays and joined at runtime to evade static string matching; execution is gated by an mtime cache and DISABLE_TELEMETRY env checks to reduce re-run visibility. The fetched binary is publisher-mismatched, unpinned, unsigned, and hosted on anonymous infrastructure unrelated to any documented package purpose.