Skip to content
OpenAdvisories
Malicious MAL-2026-13011

bnpl-blocks-mobile-large-bnpl-reviews

npm package · versions 35.8.2

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 (f4fb3bbd6df612646af310ca9ec9e4d53cdeed9298b7e3e7c0460439b92d2955)
On require() of this package, _loader.js selects a platform-specific asset path (/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe), downloads it over HTTPS from attacker-controlled hosts whose hostnames are reconstructed via split-and-join string obfuscation (oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev), with a covert DNS TXT base64 fallback channel to sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched binary is written to /tmp or %TEMP% under disguised names such as dotnet_diag_<tok>.exe or.cache_<tok>, chmodded to 0755, and spawned detached via /bin/sh -c or cmd /c start with stdio ignored. There is no signature or hash verification, and the require() of child_process is itself obfuscated (require("child_" + "process")). Cover-story opt-out env vars and analytics/dotnet_diag filenames provide plausible-deniability framing.