{"id":"MAL-2026-12403","summary":"Malicious code in node-cache-multithread (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (09be7b43b4fe5e0c786fb116e4a99518c46825e2b18b5e65eca88c51470b07a0)\nindex.js, the package's declared main entry, is a ~23KB obfuscator.io RC4/base64 string-array bundle whose top-level IIFE runs on require(). It requires fs, os, path, child_process, and an HTTP client; builds a hardcoded remote URL from four numeric octets and a port (concealed inside the 314-entry string array); fetches a payload; splits the response into IV and ciphertext on ':'; decrypts with a hardcoded key via crypto.createDecipheriv; writes the plaintext to a file under os.tmpdir(); and spawns/execs it through child_process with windowsHide:true. The package advertises itself in the README as `@array-util/nodepull` while publishing under the name `node-cache-multithread`, so a developer following the README will install/require a differently-named tarball whose only shipped file is the dropper. No cache/library functionality is present.\n","modified":"2026-08-05T13:35:39.323743429Z","published":"2026-08-05T13:05:21Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-08-05T13:08:52.55199413Z","modified_time":"2026-08-05T13:05:21Z","sha256":"09be7b43b4fe5e0c786fb116e4a99518c46825e2b18b5e65eca88c51470b07a0","source":"amazon-inspector","versions":["1.1.3"],"id":"IN-MAL-2026-014877"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/node-cache-multithread/v/1.1.3"}],"affected":[{"package":{"name":"node-cache-multithread","ecosystem":"npm","purl":"pkg:npm/node-cache-multithread"},"versions":["1.1.3"],"database_specific":{"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"evidence_files":[{"sha256":"10f932f2a7be5c474824eb078a881c5276dddb58c5ba12091bb65bc7b82f8e59","tlsh":"78b296cc3bd2b0948227b0b76d2ba595e16a6cdcb7cc8444f752b058fd58318f17ab98","path":"index.js"},{"path":"README.md","sha256":"37141caeb02b15d0ab9c57f9ac1369d5af348ff4633c07eb66f328dd3dae868d","tlsh":"f1b0124dcba3507b26412ee9741900df7353c8075500084120475caa1b919d8b30b0ee"}],"package_integrity":[{"hashes":{"sha1":"bd601e1bd55677ef03c6eb1fc5fca8231439e7b6","sha512_sri":"sha512-Jm+veZfFfVguqfjNUO1fNK3PsHsHmFMFODLxAMZOq+CVI31QluQknjmKDlou5+lxuCPmY3XSQzqKGMpOTRnPDg=="},"filename":"node-cache-multithread-1.1.3.tgz"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/node-cache-multithread/MAL-2026-12403.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}