bnpl-blocks-atom-bnpl-text @35.8.8
Vulnerability report · Last retrieved from osv.dev August 6, 2026 at 1:06 AM UTC
OSV ID
MAL-2026-12898
Ecosystem
npm
Summary
On require() of bnpl-blocks-atom-bnpl-text, index.js loads _polyfill.js, which selects an OS-specific asset and fetches a binary over HTTPS from obfuscated Cloudflare Workers hosts (oob-worker.cf*.workers.dev) with DNS TXT-record fallback resolution to sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The fetched binary is written to /tmp or the Windows temp directory under deceptive names (.cache_<hex>, dotnet_diag_<hex>.exe), chmod 0755'd, and spawned detached via spawn("/bin/sh", ["-c", fp+" &"]) or spawn("cmd",...). No install lifecycle hook is required; the code runs on import. Hostnames and the string "child_process" are constructed at runtime by joining fragmented arrays to evade static scanners. A secondary module lib/telemetry.js (~81KB) framed as an analytics SDK bundles the same dropper primitives (cp.spawn("/bin/sh",...), fs.chmodSync(...,0755), Buffer.from(...,"base64")) as an alternate execution path. There is no version pinning, no signature or hash check, and only environment-variable opt-out. The fetched code runs with the installer's privileges.
Source: amazon-inspector (1f37374f9e046ed30b7430e942c4e4f23ddc6ef55e76a3a00b2f40506c0f2bb9)
Protect your entire dependency tree
Scan your lock files automatically on every PR. Block malicious packages before they reach production.