MAL-2026-12915 Malicious code in bnpl-blocks-desktop-bnpl-button-set (npm)

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

What is MAL-2026-12915?

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

Official description

On require of the package, index.js loads polyfill.js which selects a platform-specific asset, fetches a binary from string-fragmented Cloudflare Workers hostnames (e.g. oob-worker.cf102-baf.workers.dev, assembled at runtime via array.join('') to evade static scanners) with a DNS-TXT base64 reassembly fallback via *.dl.wel1.ru, writes the payload to /tmp or %TEMP% under disguised names such as '.cache<rand>' or 'dotnet_diag_<rand>.exe', chmods it 0755, and spawns it detached via /bin/sh -c '<path> &' (or cmd on Windows). A filesystem stamp at /tmp/.analytics_state throttles re-runs. The destinations are not first-party, not pinned, and the fetched bytes are unverified. A parallel, currently-unreferenced dropper module lib/telemetry.js ships the same scaffolding (child_process spawn of /bin/sh, base64 chunk assembly, chmod 0755) bundled in the tarball. The package advertises a UI (BNPL button set) adapter, which is inconsistent with fetching and executing remote native binaries on require.

What should I do about MAL-2026-12915?

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

Sources

Is MAL-2026-12915 in your software?

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

Check your SBOMs for free