{"id":"MAL-2026-13020","summary":"Malicious code in bnpl-blocks-types (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560)\nOn 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_\u003chex\u003e.exe on Windows, hidden.cache_\u003chex\u003e 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.\n","modified":"2026-08-05T15:51:46.363952203Z","published":"2026-08-05T14:33:46Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["35.2.1"],"id":"IN-MAL-2026-015350","import_time":"2026-08-05T15:19:46.424870078Z","modified_time":"2026-08-05T14:33:46Z","sha256":"e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-types/v/35.2.1"}],"affected":[{"package":{"name":"bnpl-blocks-types","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-types"},"versions":["35.2.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-types/MAL-2026-13020.json","cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"sha256":"9c37cadf155f5736ae5db63ee5c4038793b43932b065b9047a2ff94c9663fc4b","tlsh":"59b1875a1266301d87b0d7e4871b5426f65be66333c082d4f79c99985f7612483b2efc","path":"_helpers.js"},{"path":"lib/telemetry.js","sha256":"b974c5c7549f68aa8e4b96f0c31d15d284d70b71f9eeab6cf6e3180b45347347","tlsh":"94835f55566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"hashes":{"sha512_sri":"sha512-1GQujvNruu2GOt02DenEQFZhn7CrUwNABucNPMEM22cTffesouXGZ+9kuhKQGe3CX3TpAsGYozVi1hslQnPJ4Q==","sha1":"8df32316ee084595edb087ff3c9d299242210e65"},"filename":"bnpl-blocks-types-35.2.1.tgz"}]}}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}