checkout-subscription-holdernpm
Advisory published Updated
checkout-subscription-holder is a confirmed malicious npm package (MAL-2026-12594) that executes malicious code on install (malicious version 35.7.1). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in checkout-subscription-holder (npm)
What this malware does
On require() of the package, index.js loads bootstrap.js inside a try/catch. bootstrap.js reconstructs its download hosts via array.join("") string-splitting (assembling oob-worker.cf{101-adf,99-9b3,103-070,102-baf}.workers.dev and a *.dl.wel1.ru DNS-TXT base64 fallback resolver), downloads a platform-specific opaque binary, writes it to /var/tmp/.cache<hex> on POSIX or TEMP\dotnet_diag<hex>.exe on Windows, chmods it 0755, and spawns it detached via /bin/sh -c or cmd.exe. Filenames are chosen to masquerade as a dotnet diagnostic tool or generic cache, and a /tmp/.analytics_state marker gates re-execution. The advertised package purpose ("subscription holder") has no connection to the fetched-and-executed binary, and the destination hosts are string-split constants rather than a documented, publisher-owned domain.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Malicious packageFind it
Search your lockfiles and build artifacts for checkout-subscription-holder (version 35.7.1).
If you installed it — respond
Remove checkout-subscription-holder from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.
Did it already run?
If checkout-subscription-holder was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks checkout-subscription-holder-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.