MAL-2026-12173 Malicious code in bnpl-blocks-desktop-bnpl-documents (npm)
Malicious package
Published
MAL-2026-12173 is a malicious package: bnpl-blocks-desktop-bnpl-documents (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-12173/ (Markdown: https://insights.sbomify.com/MAL-2026-12173/index.md)
- Package
- bnpl-blocks-desktop-bnpl-documents
- Registry
- npm
What is MAL-2026-12173?
MAL-2026-12173 is a malicious package in bnpl-blocks-desktop-bnpl-documents, published on 5 Aug 2026.
Official description
On require of the package, index.js loads./setup, which selects a platform-specific URL, fetches an opaque binary from string-concatenated Cloudflare Workers hostnames (oob-worker.cf100-416.workers.dev, cf103-070.workers.dev, cf102-baf.workers.dev), writes it to /var/tmp/.cache_<hex> on POSIX or %TEMP%\dotnet_diag_<hex>.exe on Windows, chmods 0755, and spawns it detached via /bin/sh or cmd. Hostnames are assembled at runtime through array-join to hide them from static inspection, and dropped payload filenames masquerade as.NET diagnostics artifacts. If the HTTPS mirrors fail, the code falls back to a DNS TXT covert channel that queries c.<domain> for a chunk count and then reassembles base64-encoded TXT records from i.<domain> across *.dl.well1.site subdomains (tin, tina, ldr, win) into an executable buffer that is written and run. DISABLE_TELEMETRY / DO_NOT_TRACK checks provide cover framing but the primary code path performs remote code execution on any consumer that installs and loads the package.
What should I do about MAL-2026-12173?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.