MAL-2026-13018

    Dashboard / Malicious Package / MAL-2026-13018

    MAL-2026-13018

    Published: 5 Aug 2026Last Modified: 5 Aug 2026

    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:

    Introduced- None
    Fixed -None

    Affected versions

    35.2.8