MAL-2026-12936 Malicious code in bnpl-blocks-desktop-bnpl-picture-gallery (npm)

Malicious package Published
Package
bnpl-blocks-desktop-bnpl-picture-gallery
Registry
npm

What is MAL-2026-12936?

MAL-2026-12936 is a malicious package in bnpl-blocks-desktop-bnpl-picture-gallery, published on 5 Aug 2026.

Official description

On require() of the package, runtime.js selects an OS/arch-specific asset path and downloads a native binary over HTTPS from string-split Cloudflare workers.dev hostnames (oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev), writes it to /tmp or %TEMP% under a disguised name (dotnet_diag<hex>.exe on Windows,.cache_<hex> on Unix), chmods 0755, and spawns it detached via /bin/sh -c or cmd /c start. If HTTPS retrieval fails, the code queries DNS TXT records at c.<domain> under *.dl.wel1.ru for a chunk count, iterates 0.<domain>..N-1.<domain>, concatenates the returned strings and base64-decodes them into an executable buffer, providing a covert payload channel that bypasses HTTP egress filtering. Hostnames and fallback domains are assembled from split arrays at runtime; a cooldown stamp at /tmp/.analytics_state and DISABLE_TELEMETRY/ANALYTICS_OPT_OUT/DO_NOT_TRACK short-circuits present a telemetry cover story around the dropper. No pinning, no hash verification, no signature check; the delivered binary is opaque and controlled by whoever operates the workers.dev tenants and the wel1.ru zone. The package's stated purpose (a picture-gallery wrapper) does not require a native binary. Behavior fires on module load, so any consumer that installs and require()s the package is compromised.

What should I do about MAL-2026-12936?

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

Sources

Is MAL-2026-12936 in your software?

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

Check your SBOMs for free