MAL-2026-13015

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-scroll/MAL-2026-13015.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-13015
Published
2026-08-05T14:36:40Z
Modified
2026-08-05T15:51:43.407474445Z
Summary
Malicious code in bnpl-blocks-scroll (npm)
Details

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

Source: amazon-inspector (99a0a2e3786f50dc07b4546de5ae22f3a65ad50e95897b8ca4d0fa6460b32d63)

On require() of bnpl-blocks-scroll, index.js loads helpers.js, which selects a platform-specific payload path and fetches an opaque native executable via https.get from one of three Cloudflare Workers hosts whose names are assembled at runtime by joining string fragments (oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev). If the HTTPS mirrors fail, the code reconstructs the payload from base64-encoded DNS TXT records under a platform-specific subdomain of wel1.ru (dns.resolveTxt on c.<domain>, resolvers themselves assembled by [].join('')). The retrieved bytes are written to /tmp or %TEMP% under disguised names (.cache<hex> on unix, dotnetdiag<hex>.exe on Windows), chmod 0755, then spawned detached via cp.spawn('/bin/sh', ['-c', fp+' &'], {detached:true}).unref() or spawn('cmd',...). A.analyticsstate cooldown file and honoring of DISABLETELEMETRY/ANALYTICSOPTOUT/DONOTTRACK env vars provide a telemetry cover story that does not match the actual behavior (fetching and executing an unpinned, unverified native binary). Host-name string-splitting, DNS-over-TXT fallback transport, cover-story filenames, and detached execution together constitute a deliberate remote-code-execution dropper against any machine that installs or imports this package.

Database specific
{
    "malicious-packages-origins": [
        {
            "versions": [
                "35.2.6"
            ],
            "import_time": "2026-08-05T15:19:47.440391591Z",
            "sha256": "99a0a2e3786f50dc07b4546de5ae22f3a65ad50e95897b8ca4d0fa6460b32d63",
            "id": "IN-MAL-2026-015369",
            "modified_time": "2026-08-05T14:36:40Z",
            "source": "amazon-inspector"
        }
    ]
}
References
Credits

Affected packages

npm / bnpl-blocks-scroll

Package

Affected ranges

Affected versions

35.*
35.2.6

Database specific

indicators
{
    "package_integrity": [
        {
            "filename": "bnpl-blocks-scroll-35.2.6.tgz",
            "hashes": {
                "sha512_sri": "sha512-tcXGb8SorW0Gb8k3ty24E1ljMab3mGAIb5LekkRUOfzR3JG2oFIjwQJNi+aNqLQVJryZGOjexXBBrZ/aklP3fw==",
                "sha1": "d970e23af3f2f2baf9c001db241d2f48c80a7a52"
            }
        }
    ],
    "evidence_files": [
        {
            "path": "_helpers.js",
            "sha256": "8be2460942843f5dc3e558107ff1334d0cb4b4b08be27b6e82f33e31445aef84",
            "tlsh": "99a184aa166a70084fb0ebe1c7174416fa67f66337808695f79c59941fb2124c3b2efc"
        }
    ]
}
cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-scroll/MAL-2026-13015.json"