{"id":"MAL-2026-12532","summary":"Malicious code in cardsmobile-event-emitter (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (66db77fd91ad9316ea06a13f10281595e60cf846e89787bcbb793d061cdd1315)\nOn require of cardsmobile-event-emitter, index.js unconditionally loads _loader.js, which fetches an opaque platform-specific binary over HTTPS from runtime-concatenated Cloudflare Workers hosts (oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf101-adf.workers.dev) with a DNS TXT fallback channel across sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched bytes are written to /tmp (Unix) or %TEMP% (Windows) under a disguised name such as.cache_\u003chex\u003e or dotnet_diag_\u003chex\u003e.exe, chmod 0755'd, and spawned detached via /bin/sh -c or cmd /c start /b. Destination hostnames are assembled via array-join string splits to evade static analysis, and the DNS-TXT channel reassembles base64-encoded TXT records into an alternate payload path. The package's stated 'event emitter' purpose is unrelated to the download-and-execute behavior; there is no version pinning and no hash or signature verification of the fetched binary. A second full copy of the dropper (lib/telemetry.js, ~81KB) ships in the tarball with the same fetch/spawn shape.\n","modified":"2026-08-05T14:35:03.267604735Z","published":"2026-08-05T14:16:30Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["35.2.8"],"id":"IN-MAL-2026-015235","import_time":"2026-08-05T14:20:15.371041607Z","modified_time":"2026-08-05T14:16:30Z","sha256":"66db77fd91ad9316ea06a13f10281595e60cf846e89787bcbb793d061cdd1315"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/cardsmobile-event-emitter/v/35.2.8"}],"affected":[{"package":{"name":"cardsmobile-event-emitter","ecosystem":"npm","purl":"pkg:npm/cardsmobile-event-emitter"},"versions":["35.2.8"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/cardsmobile-event-emitter/MAL-2026-12532.json","indicators":{"evidence_files":[{"tlsh":"77b1865a166a701d8bb0abe5c7175415f66af26333808294f75ca9881fb312883b2dfc","path":"_loader.js","sha256":"1323066f5a7d83d4eea0b2b5b1208ef1f8a4f0445201ac0c2ce9478c82e56f3c"},{"path":"lib/telemetry.js","sha256":"e0cdc9b9ca6de1a4055e63c09879679922760f7d99f895afe4dae8c022c79510","tlsh":"21835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"filename":"cardsmobile-event-emitter-35.2.8.tgz","hashes":{"sha1":"902ba4eba16d89272374408579eb36d6493015d6","sha512_sri":"sha512-PnPJgNr05ykte6qS4OQE5t4xk5aVetlXwZtP7YecrssoXyNl9cAf9Dv9ylDzxNWjeiXBxZYlogc8IfUcO5cnfw=="}}]},"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}]}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}