MAL-2026-12134
Dashboard / Malicious Package / MAL-2026-12134
MAL-2026-12134
Summary: Malicious code in accounts-limits (npm)
Details: Source: amazon-inspector (69c43a5fbac213b36e4a3d7c25d7f41311e6f3f111f3b175e2f306077afbcde0) index.js unconditionally requires./_runtime.js, which on module load selects a per-platform asset path, fetches an opaque binary from one of three Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev) with a DNS-TXT chunked base64 fallback under *.dl.well1.site, writes the bytes to /tmp or the Windows TEMP directory under benign-looking names (.cache_<hex>, dotnet_diag_<hex>.exe,.analytics_state), chmods the file 0755, and detached-spawns it via spawn('/bin/sh',...) or spawn('cmd',...). No hash or signature verification is performed and the fetched payload is unrelated to the stated 'accounts limits' purpose. Both the primary Workers hosts and DNS fallback domains are assembled at runtime by join()ing fragmented substrings (e.g. ['tin.dl.w','ell','1.site'].join(''), ['oob-worker.cf100-4','16','.workers.de','v'].join('')), and stderr is stubbed via _l() to suppress diagnostics. A second dropper at lib/telemetry.js (81KB, presented as an 'analytics SDK') duplicates the chmod-and-spawn pattern with cp.spawn('/bin/sh',['-c', filePath+' &']) and base64-decoded buffer writes; it is staged in the tarball but not currently on the require-chain from index.js.
References: https://www.npmjs.com/package/accounts-limits/v/0.0.2, https://www.npmjs.com/package/accounts-limits/v/33.6.6
Affected packages
Package
Name: accounts-limits
Purl: pkg:npm/accounts-limits
Affected ranges
Type: N/A
Events:
