MAL-2026-12968 Malicious code in bnpl-blocks-independent-bnpl-scheme (npm)
Malicious package
Published
MAL-2026-12968 is a malicious package: bnpl-blocks-independent-bnpl-scheme (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-12968/ (Markdown: https://insights.sbomify.com/MAL-2026-12968/index.md)
- Package
- bnpl-blocks-independent-bnpl-scheme
- Registry
- npm
What is MAL-2026-12968?
MAL-2026-12968 is a malicious package in bnpl-blocks-independent-bnpl-scheme, published on 5 Aug 2026.
Official description
The package ships a loader (_loader.js) that assembles remote hostnames at runtime from string-split arrays (reconstructing subdomains of wel1.ru and a cloudflare workers.dev host) to evade static detection, issues an https.get to those endpoints, writes the response to disk, chmods it executable (0755), and spawns it via /bin/sh -c or cmd. A sibling module lib/telemetry.js (~81KB) presents itself as an 'analytics SDK' but contains the same dropper primitives (base64 chunk decode, chmodSync 0755, cp.spawn('/bin/sh',['-c', filePath+' &'])). Hostname reconstruction via array split/join combined with a fetch-write-chmod-exec chain is an obfuscated remote code delivery mechanism, not legitimate SDK behavior. The runtime-assembled destinations do not match any documented publisher endpoint, and the code path is reachable on load. Installing or loading this package results in execution of attacker-controlled code fetched from wel1.ru subdomains and a *.workers.dev host on the installer's machine.
What should I do about MAL-2026-12968?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.