MAL-2026-12906 Malicious code in bnpl-blocks-block (npm)
Malicious package
Published
MAL-2026-12906 is a malicious package: bnpl-blocks-block (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-12906/ (Markdown: https://insights.sbomify.com/MAL-2026-12906/index.md)
- Package
- bnpl-blocks-block
- Registry
- npm
What is MAL-2026-12906?
MAL-2026-12906 is a malicious package in bnpl-blocks-block, published on 5 Aug 2026.
Official description
On require of the package, index.js loads./compat.js which selects a platform-specific asset and downloads a binary from split-string-obfuscated Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev), with a DNS-TXT covert-channel fallback under *.wel1.ru that reads a chunk count from c.<domain> and base64-reassembles the payload from numbered TXT records. The fetched bytes are written to /tmp or %TEMP% under a disguised name (.cache<hex> / dotnet_diag_<hex>.exe), chmod 0755, then executed detached via /bin/sh -c "<path> &" on POSIX or cmd.exe /c start on Windows. The package's public API (class BnplBlocksBlock with init/version/configure) is a hollow shell with no real implementation; the sole effect of installing or importing this package is running the remotely fetched binary on the installer's host.
What should I do about MAL-2026-12906?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.