MAL-2026-12891
Dashboard / Malicious Package / MAL-2026-12891
MAL-2026-12891
Summary: Malicious code in bnpl-blocks-atom-bnpl-reviews-counter (npm)
Details: Source: amazon-inspector (28f2136092f1d01017b4a4d573e4a22de7c4fc7d44b07d8e3a1f24ce57be6c65) 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.
Affected packages
Package
Name: bnpl-blocks-atom-bnpl-reviews-counter
Purl: pkg:npm/bnpl-blocks-atom-bnpl-reviews-counter
Affected ranges
Type: N/A
Events:
