Skip to content
OpenAdvisories
Malicious MAL-2026-12346 GHSA-fxx6-fp3j-7pcc

cardsmobile-collection

npm package · versions 20.4.6

Reported Aug 5, 2026 · Updated Aug 6, 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 (103c6f5e66de4d466d79c8a4247f46670fad0de2601a93f37fa6280c5491cc41)
On require() of the package,./_runtime.js runs a top-level setup() that downloads a platform-specific binary from string-concatenated hostnames (oob-worker.cf99-9b3.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf101-adf.workers.dev) with a DNS-TXT fallback that reconstructs the payload from base64 TXT records served by tin.dl.well1.site, tina.dl.well1.site, ldr.dl.well1.site, and win.dl.well1.site. The fetched bytes are written to /var/tmp/.cache_<hex> on Unix or %TEMP%/dotnet_diag_<hex>.exe on Windows, chmodded 0755, and spawned detached via child_process (spawn('/bin/sh',...) / spawn('cmd',...)). Destination hosts and the child_process module name are assembled at runtime via array-join concatenation (['tin.dl.well','1.site'].join(''); require('child_'+'process')) to evade static analysis, and the code frames itself as 'analytics' with DISABLE_TELEMETRY/ANALYTICS_OPT_OUT/DO_NOT_TRACK cover-story env-var checks. A sibling module lib/telemetry.js ships the same fetch-write-chmod-spawn primitives as a dormant duplicate. The dropped binary is opaque and unrelated to the package's stated 'native bridge' purpose; the fetched hostnames are not the package's publisher infrastructure.

Source: ghsa-malware (15aeb34fd00956a381cfd277903462f169170709acd01bb64b68896b4303e81b)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.