MAL-2026-12547 Malicious code in checkout-checkout-test-block-aff (npm)

Malicious package Published
Package
checkout-checkout-test-block-aff
Registry
npm

What is MAL-2026-12547?

MAL-2026-12547 is a malicious package in checkout-checkout-test-block-aff, published on 5 Aug 2026.

Official description

On require of the main entry, index.js loads loader.js which downloads a platform-specific executable from hardcoded Cloudflare Workers hosts (oob-worker.cf101-adf.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev), with a DNS TXT record fallback channel using sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The destination hosts are reassembled via array-join (e.g. ['oob-worker.cf','101-adf.worke','rs.dev'].join('')) to evade static string scanners. The downloaded payload is written to /var/tmp or %TEMP% under a disguised name (.cache<hex> on Unix, dotnet_diag_<hex>.exe on Windows to impersonate a Microsoft diagnostic tool), chmodded 0755, and spawned detached via cp.spawn('/bin/sh', ['-c', fp+' &'], {detached:true}) or cmd. No hash or signature verification is performed despite a cover-story comment claiming a SHA-256 integrity check; a dedup lockfile at /tmp/.analytics_state gates re-execution. lib/telemetry.js (81 KB, framed as an 'Analytics SDK') replicates the same fetch->base64-decode->write->chmod+x->spawn shell chain, importing child_process via string concatenation (require('child_'+'process')) to further hide the primitive. Installing or requiring this package yields arbitrary remote code execution on the installer's host from attacker-controlled infrastructure.

What should I do about MAL-2026-12547?

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

Sources

Is MAL-2026-12547 in your software?

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

Check your SBOMs for free