{"id":"MAL-2026-12890","summary":"Malicious code in bnpl-blocks-atom-bnpl-review (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (2251415239635fc707b724b732dcac0bb05e9b6714ad73bc5d6027d6b7247a05)\nOn require() of the package, index.js loads _platform.js which fetches a platform-specific binary from Cloudflare Workers subdomains whose hostnames are assembled at runtime from split string fragments (e.g. oob-worker.cf99-9b3.workers.dev, cf103-070/cf101-adf/cf100-416.workers.dev). If HTTPS fetches fail, the module falls back to a DNS TXT-record covert channel under *.wel1.ru (sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru), reading a chunk count from c.\u003cdomain\u003e and base64-decoding concatenated TXT records from numbered subdomains. The retrieved bytes are written to /tmp or %TEMP% under disguised names (.cache_\u003chex\u003e on Unix, dotnet_diag_\u003chex\u003e.exe on Windows), chmod 0755, and spawned detached via /bin/sh -c or cmd.exe. No signature or hash verification is performed and the payload is unrelated to the package's advertised BNPL-review purpose. A second copy of the dropper is bundled in lib/telemetry.js (81 KB) wrapped as an APM SDK, containing matching base64 payload assembly, chmod 0755, and /bin/sh -c spawn primitives; it is not reachable from the main entry in this version but mirrors the same infrastructure.\n","modified":"2026-08-05T15:50:44.544525725Z","published":"2026-08-05T14:54:59Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-08-05T15:19:54.384444673Z","modified_time":"2026-08-05T14:54:59Z","sha256":"2251415239635fc707b724b732dcac0bb05e9b6714ad73bc5d6027d6b7247a05","source":"amazon-inspector","versions":["35.5.4"],"id":"IN-MAL-2026-015494"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-atom-bnpl-review/v/35.5.4"}],"affected":[{"package":{"name":"bnpl-blocks-atom-bnpl-review","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-atom-bnpl-review"},"versions":["35.5.4"],"database_specific":{"indicators":{"package_integrity":[{"filename":"bnpl-blocks-atom-bnpl-review-35.5.4.tgz","hashes":{"sha512_sri":"sha512-yUd82l6Ex6RkkDvujJ9xjLCc7IqLY+ZkhtsPC6AF9gfo2bAZ1+yImdVhCnZThQdvjg+jC49dMAyeC8eNJsrnrg==","sha1":"ed2b78c1616a3699c5b2ade5dceffe90150094e0"}}],"evidence_files":[{"tlsh":"e8a1965602a970184fb097e4c717881af65af6633780c6d8f7ac55885fb2124c3b2efc","path":"_platform.js","sha256":"2146732051701ba5e44d35e8ca6bde7de02543b877814162070982fe80ffb61a"},{"path":"lib/telemetry.js","sha256":"4b9f730dcd476c3d1eda72c04c0e0f6fa8d01e05076d325f79b116aa3ce2148a","tlsh":"b6835055566a202186b2b368df234107ff3685272642429dbafc82dc1fbd72092a5ffc"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-atom-bnpl-review/MAL-2026-12890.json","cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}]}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}