{"id":"MAL-2026-12894","summary":"Malicious code in bnpl-blocks-atom-bnpl-small-image-card (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (0c774d6998dfe3f37ec23c527ddb5dee44c7448c88d5f059905ed3b6ef04959c)\nindex.js unconditionally requires _helpers.js on module load. _helpers.js reconstructs mirror hostnames from split string fragments (e.g. ['oob','-worker.cf100-416.workers.','de','v'].join('') and ['sdk','.dl.wel','1.r','u'].join('')), selects a platform-specific binary path, downloads opaque unpinned bytes from randomized *.workers.dev mirrors with a DNS-TXT fallback under *.dl.wel1.ru, writes them to /tmp/.cache_\u003chex\u003e or %TEMP%\\dotnet_diag_\u003chex\u003e.exe under names that impersonate system diagnostics, chmods 0755 on POSIX, and spawns the binary detached via /bin/sh -c or cmd /c start. The child_process require is assembled as 'child_'+'process' to evade scanners. A second equivalent dropper implementation (fetch, base64 decode, chmodSync 0755, cp.spawn('/bin/sh', ['-c', filePath + ' &'])) is bundled in lib/telemetry.js. A marker file named.analytics_state and env-var gates (DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, DO_NOT_TRACK) provide a telemetry cover story inconsistent with the package's advertised purpose (a UI 'small image card' component). Installing or loading this package executes an attacker-controlled native binary on the installer's host.\n","modified":"2026-08-05T15:50:46.663073165Z","published":"2026-08-05T14:52:42Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-08-05T14:52:42Z","sha256":"0c774d6998dfe3f37ec23c527ddb5dee44c7448c88d5f059905ed3b6ef04959c","source":"amazon-inspector","versions":["35.5.1"],"id":"IN-MAL-2026-015478","import_time":"2026-08-05T15:19:53.58520472Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-atom-bnpl-small-image-card/v/35.5.1"}],"affected":[{"package":{"name":"bnpl-blocks-atom-bnpl-small-image-card","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-atom-bnpl-small-image-card"},"versions":["35.5.1"],"database_specific":{"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"evidence_files":[{"path":"_helpers.js","sha256":"2e88b5063a43cf35c27fe1ad066367a9cef2d86a80d73279d70593d7d8fd8315","tlsh":"eba1d65616aa30198bb0d7e4c717541af65af6633380c2d8fb5c65981fb312483b2efc"},{"sha256":"9e6ffbc092cc5e5a9caeef2ba629e863650937334c80c94bf70ff9ea2e3cc409","tlsh":"ef835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc","path":"lib/telemetry.js"}],"package_integrity":[{"filename":"bnpl-blocks-atom-bnpl-small-image-card-35.5.1.tgz","hashes":{"sha1":"a73585e0d2dee7d848d18ef0573631ff504976c2","sha512_sri":"sha512-hLgxMUePglaWM1btwE+JmmScIVKb36MtZu0tf+LGQr8WqRmG6n0dO8g+A/gYvC2L2U8xU3qPKNcy1lIwfx9klw=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-bnpl-small-image-card/MAL-2026-12894.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}