MAL-2026-13015 Malicious code in bnpl-blocks-scroll (npm)

Malicious package Published
Package
bnpl-blocks-scroll
Registry
npm

What is MAL-2026-13015?

MAL-2026-13015 is a malicious package in bnpl-blocks-scroll, published on 5 Aug 2026.

Official description

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.

What should I do about MAL-2026-13015?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-13015 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free