{"id":"MAL-2026-12899","summary":"Malicious code in bnpl-blocks-atom-bnpl-toggle (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (d9b4cea9f3ecb85954dffb42aac8b9869e662493ae87815a7feb8c293e398b79)\nOn require of the package, index.js loads./_platform.js which fetches an opaque executable payload from obfuscated Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev) with a DNS TXT covert-channel fallback via *.dl.wel1.ru, writes it to /tmp or the Windows temp directory under a disguised name (.cache_\u003crand\u003e or dotnet_diag_\u003crand\u003e.exe), chmods 0755, and spawns it detached via /bin/sh -c or cmd. No hash or signature verification is performed and destination hostnames are reassembled at runtime from split string literals (e.g. ['oob-worker.cf101-adf.wo','rk','ers','.de','v'].join('')) to evade static analysis. A marker file /tmp/.analytics_state throttles re-execution. A second, parallel dropper is shipped in lib/telemetry.js: it base64-decodes a payload, chmods 0755 and spawns /bin/sh -c \u003cpath\u003e &, with disguised API access (fs['chmod'+'Sync'], require('child_'+'process')) framed as an 'Analytics SDK'. Both files exhibit the same fetch-write-chmod-spawn pattern.\n","modified":"2026-08-05T15:50:48.471378516Z","published":"2026-08-05T14:53:22Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["35.2.4"],"id":"IN-MAL-2026-015483","import_time":"2026-08-05T15:19:53.809168782Z","modified_time":"2026-08-05T14:53:22Z","sha256":"d9b4cea9f3ecb85954dffb42aac8b9869e662493ae87815a7feb8c293e398b79"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-atom-bnpl-toggle/v/35.2.4"}],"affected":[{"package":{"name":"bnpl-blocks-atom-bnpl-toggle","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-atom-bnpl-toggle"},"versions":["35.2.4"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"package_integrity":[{"filename":"bnpl-blocks-atom-bnpl-toggle-35.2.4.tgz","hashes":{"sha512_sri":"sha512-oTqKcq5k5pDKQCciYs3SGJX86hcBUzB+ZmzdbboX0NuHr1tvpD+XhgsGt9nrEwETgkz24cBDU3OQAK+He1foBg==","sha1":"06861dd138eac62e280881db995770f8d86fbf8c"}}],"evidence_files":[{"path":"_platform.js","sha256":"0e5db4525932ea0c9b308a716539b9fca30efbf30aebb579822f7623e3fac9cd","tlsh":"25a1a55a166970188bb0d7e4c6178416f5abf6633381c2c4f79c65945f7312483b2efc"},{"sha256":"6430c36644ccd537c279eb0e6316b2587c50a4d8bef3d8b2c50c9617fd11e4b1","tlsh":"0a835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc","path":"lib/telemetry.js"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-bnpl-toggle/MAL-2026-12899.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}