MAL-2026-12898

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-bnpl-text/MAL-2026-12898.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12898
Published
2026-08-05T14:54:23Z
Modified
2026-08-05T15:50:48.197089029Z
Summary
Malicious code in bnpl-blocks-atom-bnpl-text (npm)
Details

-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (1f37374f9e046ed30b7430e942c4e4f23ddc6ef55e76a3a00b2f40506c0f2bb9)

On require() of bnpl-blocks-atom-bnpl-text, index.js loads polyfill.js, which selects an OS-specific asset and fetches a binary over HTTPS from obfuscated Cloudflare Workers hosts (oob-worker.cf*.workers.dev) with DNS TXT-record fallback resolution to sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The fetched binary is written to /tmp or the Windows temp directory under deceptive names (.cache<hex>, dotnetdiag<hex>.exe), chmod 0755'd, and spawned detached via spawn("/bin/sh", ["-c", fp+" &"]) or spawn("cmd",...). No install lifecycle hook is required; the code runs on import. Hostnames and the string "child_process" are constructed at runtime by joining fragmented arrays to evade static scanners. A secondary module lib/telemetry.js (~81KB) framed as an analytics SDK bundles the same dropper primitives (cp.spawn("/bin/sh",...), fs.chmodSync(...,0755), Buffer.from(...,"base64")) as an alternate execution path. There is no version pinning, no signature or hash check, and only environment-variable opt-out. The fetched code runs with the installer's privileges.

Database specific
{
    "malicious-packages-origins": [
        {
            "modified_time": "2026-08-05T14:54:23Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-015490",
            "import_time": "2026-08-05T15:19:54.128650199Z",
            "sha256": "1f37374f9e046ed30b7430e942c4e4f23ddc6ef55e76a3a00b2f40506c0f2bb9",
            "versions": [
                "35.8.8"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / bnpl-blocks-atom-bnpl-text

Package

Name
bnpl-blocks-atom-bnpl-text
View open source insights on deps.dev
Purl
pkg:npm/bnpl-blocks-atom-bnpl-text

Affected ranges

Affected versions

35.*
35.8.8

Database specific

indicators
{
    "package_integrity": [
        {
            "filename": "bnpl-blocks-atom-bnpl-text-35.8.8.tgz",
            "hashes": {
                "sha512_sri": "sha512-bZuykfen0/UoZ7XrwOZxulSdXtvV/8CYS5CkRlRwV3Mi1bPzkwBaKZSIWC9v8z9tPzxJznPalK9cFCvx8JWdaQ==",
                "sha1": "5a5c2778e47c3a72d51ca23bf12b505ecd2e8dc4"
            }
        }
    ],
    "evidence_files": [
        {
            "tlsh": "faa1769a166670188bb0ebe5c7174815f66be6633280c1c4fb5ca5981fb712483b2efc",
            "sha256": "26df556ce25f46f1c0d6087b79084de5b4755ada51c8336266954c10284a3b00",
            "path": "_polyfill.js"
        },
        {
            "tlsh": "54835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc",
            "sha256": "a5d087705ce9be6f58b724dc14ef21791c5c935113fb69281d112021cf54c58f",
            "path": "lib/telemetry.js"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-bnpl-text/MAL-2026-12898.json"
cwes
[
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]