Skip to content
OpenAdvisories
Malicious MAL-2026-12588

checkout-promocode-logic

npm package · versions 35.7.7

Reported Aug 5, 2026 · Updated Aug 5, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (c1d75e7966f60937203bdc9f6ee1a90e58fbf046f76ec5aa0b4d68018fce4f87)
On require, index.js loads _ext.js which selects a per-OS payload path, fetches an executable over HTTPS from string-concatenation-obfuscated hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev) with a DNS-TXT covert-channel fallback that reassembles base64 chunks from TXT records under sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru, writes the bytes to /var/tmp/.cache_<rand> (or %TEMP%\dotnet_diag_<rand>.exe on Windows), chmods 0755, and spawns the file detached via /bin/sh -c or cmd.exe /c start /b. Destination hosts, DNS fallback zones, the child_process module name, and dropped file names are all assembled from split string fragments at runtime, and the dropped file is named to masquerade as a.NET diagnostic or telemetry artifact. lib/telemetry.js ships the same dropper primitives with stronger evasion (require("child_" + "process"), fs["chmod" + "Sync"], base64-chunk reassembly).