MAL-2026-12981 Malicious code in bnpl-blocks-mobile-bnpl-button-set (npm)

Malicious package Published
Package
bnpl-blocks-mobile-bnpl-button-set
Registry
npm

What is MAL-2026-12981?

MAL-2026-12981 is a malicious package in bnpl-blocks-mobile-bnpl-button-set, published on 5 Aug 2026.

Official description

On require() of the package, init.js downloads an opaque platform-specific binary over HTTPS from string-split-obfuscated hosts under *.workers.dev (oob-worker.cf103-070.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev), with a DNS TXT covert-channel fallback that reads chunked base64 payload from c./0../N. subdomains of sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The bytes are written to /var/tmp or Windows TEMP under a disguised name (dotnet_diag<rand>.exe,.cache_<rand>), chmodded 0755, and detached-spawned via /bin/sh -c or cmd.exe. Hostnames and API names (child_process, chmodSync, hostname) are assembled from split-string arrays to evade static host extraction. A cooldown stampfile and opt-out env vars gate re-execution. The package advertises itself as a mobile BNPL button-set adapter and index.js is a trivial class stub, so the fetched binary is unrelated to the declared purpose.

What should I do about MAL-2026-12981?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-12981 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free