MAL-2026-12989

    Dashboard / Malicious Package / MAL-2026-12989

    MAL-2026-12989

    Published: 5 Aug 2026Last Modified: 5 Aug 2026

    Summary: Malicious code in bnpl-blocks-mobile-bnpl-floating-button (npm)

    Details: Source: amazon-inspector (be8101254611004c84932cd102d4fb71dc7e692d67696df081e66bd37ba3088b) On require(), index.js loads _support.js whose top-level main() downloads a platform-specific binary from author-controlled hosts assembled via string-array concatenation (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru) with a DNS-TXT base64 fallback. The fetched bytes are written to /tmp or %TEMP% under stealth names such as dotnet_diag_<hex>.exe and.cache_<hex>, chmod'd 0755 on POSIX (with the API name assembled as 'chmod'+'Sync'), and executed detached via /bin/sh -c '<path> &' or cmd /c start /b. A second dropper is shipped in lib/telemetry.js (81KB, framed as an 'Analytics SDK') implementing the same base64-decode + chmod-via-string-concat + detached spawn pattern as an alternate loader. child_process is resolved via require('child_' + 'process') and destination hostnames are split across arrays to evade static analysis. No version pin, no hash or signature verification, and a /tmp stamp file is used for rate-limiting. The package name and metadata claim a mobile BNPL floating-button UI component, which conflicts with the shipped behavior.

    Affected packages

    Package

    Name: bnpl-blocks-mobile-bnpl-floating-button

    Purl: pkg:npm/bnpl-blocks-mobile-bnpl-floating-button

    Affected ranges

    Type: N/A

    Events:

    Introduced- None
    Fixed -None

    Affected versions

    35.3.6
    MAL-2026-12989 | CVE-DB