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"