{"id":"MAL-2026-12977","summary":"Malicious code in bnpl-blocks-mobile-bnpl-action-panel (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f3362a69d0a3341fff7a48ebdd4a8231ec5a365dc237c62a5b95619fe051e762)\nOn require(), index.js loads _bootstrap.js, which selects a per-platform payload path, fetches a binary over HTTPS from hardcoded hosts assembled by concatenating short string fragments (oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev) with a DNS-TXT fallback that reassembles base64 chunks across numbered subdomains of 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 the Windows TEMP directory under cover-story names (.cache_\u003chex\u003e, dotnet_diag_\u003chex\u003e.exe), chmod 0755 on POSIX, then spawned detached via /bin/sh -c or cmd.exe. Host strings and API surface are split across arrays and reassembled via.join(\"\") (e.g. require(\"child_\"+\"process\"), fs[\"chmod\"+\"Sync\"]) to evade static analysis. A second dropper module lib/telemetry.js (81 KB) is bundled but not require()d in this version; it mirrors the same DNS discovery, HTTPS+base64 reassembly, chmod, and detached /bin/sh spawn pattern under an \"Analytics SDK\" framing. Package name and file names impersonate a mobile BNPL UI component and telemetry/analytics tooling; the actual behavior is unverified remote-binary execution on any host that installs or imports the package.\n","modified":"2026-08-05T15:51:25.025410914Z","published":"2026-08-05T14:40:41Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-08-05T14:40:41Z","sha256":"f3362a69d0a3341fff7a48ebdd4a8231ec5a365dc237c62a5b95619fe051e762","source":"amazon-inspector","versions":["35.8.6"],"id":"IN-MAL-2026-015396","import_time":"2026-08-05T15:19:49.133997641Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-mobile-bnpl-action-panel/v/35.8.6"}],"affected":[{"package":{"name":"bnpl-blocks-mobile-bnpl-action-panel","ecosystem":"npm","purl":"pkg:npm/bnpl-blocks-mobile-bnpl-action-panel"},"versions":["35.8.6"],"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":[{"tlsh":"82a1979a12a971184bb0a7e4c7174416f55bf6633780c2d4fb9c69d81fb2024c2b2efc","path":"_bootstrap.js","sha256":"09d90d4969940f4bcfdd6b054652f2718d4a256286efc919c2f9743375ada6ad"},{"path":"lib/telemetry.js","sha256":"c14e6d47573e3cfde64e6be4a5749e2883a127a57bd086f5db865238272869cf","tlsh":"88835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"filename":"bnpl-blocks-mobile-bnpl-action-panel-35.8.6.tgz","hashes":{"sha1":"521099a82acbd660bcd3b1f4f636dd0dec2ef165","sha512_sri":"sha512-iCDLOQzmi1oW4HymssDym1P/giBDL4SfzG61DRGCbjH1NIPxzd/pdF8s7BvDGxHJ7KJLWSfYWDChYzgNPESsog=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bnpl-blocks-mobile-bnpl-action-panel/MAL-2026-12977.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}