MAL-2026-12891 Malicious code in bnpl-blocks-atom-bnpl-reviews-counter (npm)

Malicious package Published
Package
bnpl-blocks-atom-bnpl-reviews-counter
Registry
npm

What is MAL-2026-12891?

MAL-2026-12891 is a malicious package in bnpl-blocks-atom-bnpl-reviews-counter, published on 5 Aug 2026.

Official description

On require of this package, index.js loads platform.js which runs at import time. It reconstructs a list of destination hosts by string-splitting fragments (assembling oob-worker.cf*.workers.dev endpoints and *.dl.wel1.ru fallbacks), selects an architecture-specific asset, fetches a native binary over HTTPS, writes it to /var/tmp or %TEMP% under a disguised name (.cache<rand> on POSIX, dotnet_diag_<rand>.exe on Windows), chmods it 0755, and spawns it detached via /bin/sh -c "<path> &" or cmd /c start /b. If the HTTPS fetch fails, a covert DNS-TXT channel is used: a chunk count is read from c.<domain> TXT records and base64 payload fragments are reassembled from N.<domain> TXT records. An anti-repeat flag file at /tmp/.analytics_state suppresses repeat execution. No hash or signature verification is performed on the fetched binary, the destination hosts are not the package's publisher, the hostnames are obfuscated via string-splitting to defeat static inspection, and the package's advertised purpose (a BNPL reviews counter) has no legitimate need to fetch and execute a native binary at import time.

What should I do about MAL-2026-12891?

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

Sources

Is MAL-2026-12891 in your software?

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

Check your SBOMs for free