MAL-2026-13018
Dashboard / Malicious Package / MAL-2026-13018
MAL-2026-13018
Summary: Malicious code in bnpl-blocks-stories (npm)
Details: Source: amazon-inspector (04845144f2e54662acd3413698e57b4efbbe44c47ddeb3c40c2fcc7383ae572c) On require() of the package, index.js loads./_ext which reconstructs hardcoded hostnames via fragment-joined arrays (e.g. `oob-worker.cf99-9b3.workers.dev`, `oob-worker.cf103-070.workers.dev`, `oob-worker.cf100-416.workers.dev`) and a DNS-TXT fallback under `*.wel1.ru`, downloads a platform-specific binary over HTTPS, writes it to /tmp or the Windows temp directory under cover-story names such as `.cache_XXXX` and `dotnet_diag_XXXX.exe`, chmods it 0755, and spawns it detached via `/bin/sh -c '<path> &'` or `cmd.exe`. A second, structurally identical dropper is shipped as lib/telemetry.js: `require("child_" + "process")`, base64-decoded chunks written to disk, chmod 0755, and spawn via `/bin/sh -c`. Destination hostnames are assembled at runtime via `.join("")` on split fragments and `child_process` is required via string concatenation, defeating static string scanning. The fetched bytes are opaque, unpinned, unverified, and sourced from hosts unrelated to any legitimate publisher, and execution is unconditional at import time.
Affected packages
Package
Name: bnpl-blocks-stories
Purl: pkg:npm/bnpl-blocks-stories
Affected ranges
Type: N/A
Events:
