MAL-2026-13018 Malicious code in bnpl-blocks-stories (npm)

Malicious package Published
Package
bnpl-blocks-stories
Registry
npm

What is MAL-2026-13018?

MAL-2026-13018 is a malicious package in bnpl-blocks-stories, published on 5 Aug 2026.

Official description

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.

What should I do about MAL-2026-13018?

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

Sources

Is MAL-2026-13018 in your software?

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

Check your SBOMs for free