MAL-2026-13020

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

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

Source: amazon-inspector (e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560)

On require() of bnpl-blocks-types, index.js loads helpers.js which selects a platform-specific path (/pkg/package, /pkg/package.exe, /pkg/loader_mac, /pkg/package-arm64) and downloads a binary from hostnames reconstructed at runtime via array.join to defeat static inspection: oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf100-416.workers.dev, and oob-worker.cf99-9b3.workers.dev. If HTTPS retrieval fails, a fallback assembles the payload from base64-encoded DNS TXT records under sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched bytes are written to /var/tmp or %TEMP% under decoy names (dotnet_diag.exe on Windows, hidden.cache_ on Unix), chmod 0755, and spawned detached and unref'd via cp.spawn('/bin/sh', ['-c', fp + ' &'], {detached:true}). A second dropper copy is staged as lib/telemetry.js (81 KB, framed as an analytics SDK) containing the same base64-assemble, chmod 0755, and detached /bin/sh spawn pattern, with require('child_'+'process') and fs['chmod'+'Sync'] string-split obfuscation. Behavior is guarded by an mtime cache and opt-out env vars, consistent with a persistent, staged install-time dropper.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-015350",
            "import_time": "2026-08-05T15:19:46.424870078Z",
            "modified_time": "2026-08-05T14:33:46Z",
            "sha256": "e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560",
            "source": "amazon-inspector",
            "versions": [
                "35.2.1"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / bnpl-blocks-types

Package

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

Affected ranges

Affected versions

35.*
35.2.1

Database specific

cwes
[
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "_helpers.js",
            "sha256": "9c37cadf155f5736ae5db63ee5c4038793b43932b065b9047a2ff94c9663fc4b",
            "tlsh": "59b1875a1266301d87b0d7e4871b5426f65be66333c082d4f79c99985f7612483b2efc"
        },
        {
            "path": "lib/telemetry.js",
            "sha256": "b974c5c7549f68aa8e4b96f0c31d15d284d70b71f9eeab6cf6e3180b45347347",
            "tlsh": "94835f55566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"
        }
    ],
    "package_integrity": [
        {
            "filename": "bnpl-blocks-types-35.2.1.tgz",
            "hashes": {
                "sha1": "8df32316ee084595edb087ff3c9d299242210e65",
                "sha512_sri": "sha512-1GQujvNruu2GOt02DenEQFZhn7CrUwNABucNPMEM22cTffesouXGZ+9kuhKQGe3CX3TpAsGYozVi1hslQnPJ4Q=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-types/MAL-2026-13020.json"