{"schema_version":"1.8.0","id":"MAL-2026-12900","published":"2026-08-05T14:53:33Z","modified":"2026-08-05T15:50:49.195523807Z","summary":"Malicious code in bnpl-blocks-atom-container (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (d0bf90f9ba8f401c6300846c2e5fa3af2afd241fba5d967300272a8dc7eadec7)\nOn require() of bnpl-blocks-atom-container, index.js loads _adapter.js which selects a platform-specific target path, downloads an opaque binary from one of four Cloudflare Workers hosts whose names are reconstructed at runtime from split string fragments (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev), writes it to /var/tmp or %TEMP% under cover-story filenames ('dotnet_diag_<hex>.exe' on Windows, '.cache_<hex>' on Unix), chmods 0755, and spawns it detached via '/bin/sh -c <fp> &' or 'cmd.exe /c start /b <fp>'. A stamp file named '.analytics_state' under /tmp gates re-execution. When HTTPS delivery fails, the loader falls back to a DNS-over-TXT channel against *.dl.wel1.ru (sdk./ext./pkg./net.dl.wel1.ru): it reads a chunk count from a 'c.<domain>' TXT record, retrieves N indexed base64 TXT records, concatenates and base64-decodes them into the payload bytes, and executes the result. Hostname obfuscation, disguised staging filenames, and a redundant covert DNS delivery channel are consistent with evasion of both static scanners and HTTP egress controls, not with any legitimate SDK loader.\n","affected":[{"package":{"name":"bnpl-blocks-atom-container","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-atom-container"},"versions":["35.7.4"],"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":"_adapter.js","sha256":"447433885bf158995961c7348e86a596a5ecb5f671cd7d5199872300ce13d08d","tlsh":"13a1a65a11a6701c8bb0ebe4c7175815f65bf76333808288fb9c69985fb216483b2dfc"}],"package_integrity":[{"filename":"bnpl-blocks-atom-container-35.7.4.tgz","hashes":{"sha1":"6426386716d5dec0784bf8dadada0d9703fd16e7","sha512_sri":"sha512-olaIuoKTjjUqWCTygC5KNA2BNSbszpxxdFAhY1tuvXGi0JABJ+YXONgzpEpFQpCyMWIKeI4/CLEm2/PyzGbZ/Q=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-container/MAL-2026-12900.json"}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-atom-container/v/35.7.4"}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-015484","import_time":"2026-08-05T15:19:53.843749023Z","modified_time":"2026-08-05T14:53:33Z","sha256":"d0bf90f9ba8f401c6300846c2e5fa3af2afd241fba5d967300272a8dc7eadec7","source":"amazon-inspector","versions":["35.7.4"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}