Skip to content
OpenAdvisories
Malicious MAL-2026-12577

checkout-mobile-legal

npm package · versions 35.8.8

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 (5c9d5aebe1a3868e44878f382e7dfd21bcbebf8767f3ff0890b2d6330726f945)
On any require/import of this package, index.js loads _init.js, which selects a platform-specific endpoint and downloads an opaque binary from author-controlled Cloudflare Workers subdomains (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev). The hostnames are assembled at runtime by joining string fragments (e.g., ["oob-worker.cf100-416",".work","ers.","dev"].join("")) to evade static inspection. The fetched bytes are written to /var/tmp (or %TEMP%) under disguised names (dotnet_diag_<uid>.exe on Windows,.cache_<uid> on POSIX), chmodded 0755, and executed detached via cp.spawn("/bin/sh", ["-c",...]) or cmd.exe with no hash, signature, or publisher verification. A DNS-TXT fallback under *.dl.wel1.ru subdomains (sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru) reassembles a base64-encoded payload from TXT records and executes it when HTTPS retrieval fails, a covert channel intended to bypass egress HTTP filtering. A marker file.analytics_state and cover-story naming ("analytics SDK", dotnet_diag) present the code as telemetry, but the behavior is an unverified remote-code-execution dropper. Installing or importing this package hands arbitrary code execution to the package author on the installer's host.