MAL-2026-12902 Malicious code in bnpl-blocks-atom-desktop-bnpl-highlighted-text (npm)
Malicious package
Published
MAL-2026-12902 is a malicious package: bnpl-blocks-atom-desktop-bnpl-highlighted-text (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-12902/ (Markdown: https://insights.sbomify.com/MAL-2026-12902/index.md)
- Package
- bnpl-blocks-atom-desktop-bnpl-highlighted-text
- Registry
- npm
What is MAL-2026-12902?
MAL-2026-12902 is a malicious package in bnpl-blocks-atom-desktop-bnpl-highlighted-text, published on 5 Aug 2026.
Official description
On require() of the package, index.js loads platform.js, which assembles destination hostnames at runtime from split-string arrays to hide them from static inspection. The resolved hosts are Cloudflare Workers subdomains (oob-worker.cf99-9b3.workers.dev, cf100-416.workers.dev, cf101-adf.workers.dev, cf103-070.workers.dev) with a DNS-TXT covert-channel fallback over subdomains of wel1.ru (sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru). The code fetches a platform-specific binary, writes it under a disguised filename to /tmp (.cache<rand>) on POSIX or %TEMP% (dotnet_diag_<rand>.exe) on Windows, chmods 0755, and spawns it detached via /bin/sh -c or cmd with stdio ignored and unref(). A second file, lib/telemetry.js (81KB), ships in the tarball and contains parallel dropper logic (HTTPS+DNS transport, base64 chunk decoding, /bin/sh spawn, fs["chmod"+"Sync"] with 0755) that is not currently referenced by index.js but is present and activatable. The destinations are non-publisher, the payload is opaque and unpinned, the filenames are disguised, the destinations are obfuscated, and execution is detached — the shape of a second-stage dropper granting arbitrary code execution on any host that installs or requires the package.
What should I do about MAL-2026-12902?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.