bnpl-blocks-scroll @35.2.6
Vulnerability report · Last retrieved from osv.dev August 6, 2026 at 1:06 AM UTC
OSV ID
MAL-2026-13015
Ecosystem
npm
Summary
On require() of bnpl-blocks-scroll, index.js loads _helpers.js, which selects a platform-specific payload path and fetches an opaque native executable via https.get from one of three Cloudflare Workers hosts whose names are assembled at runtime by joining string fragments (oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev). If the HTTPS mirrors fail, the code reconstructs the payload from base64-encoded DNS TXT records under a platform-specific subdomain of wel1.ru (dns.resolveTxt on c.<domain>, resolvers themselves assembled by [].join('')). The retrieved bytes are written to /tmp or %TEMP% under disguised names (.cache_<hex> on unix, dotnet_diag_<hex>.exe on Windows), chmod 0755, then spawned detached via cp.spawn('/bin/sh', ['-c', fp+' &'], {detached:true}).unref() or spawn('cmd',...). A.analytics_state cooldown file and honoring of DISABLE_TELEMETRY/ANALYTICS_OPT_OUT/DO_NOT_TRACK env vars provide a telemetry cover story that does not match the actual behavior (fetching and executing an unpinned, unverified native binary). Host-name string-splitting, DNS-over-TXT fallback transport, cover-story filenames, and detached execution together constitute a deliberate remote-code-execution dropper against any machine that installs or imports this package.
Source: amazon-inspector (99a0a2e3786f50dc07b4546de5ae22f3a65ad50e95897b8ca4d0fa6460b32d63)
Protect your entire dependency tree
Scan your lock files automatically on every PR. Block malicious packages before they reach production.