{"id":"MAL-2026-4738","summary":"Malicious code in zest-product (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (c9081ad708b658c1bd56299e401ca6a764cc9137d99573bc922d38a7381cc30d)\nOn `npm install`, postinstall.js collects host identity and environment data (os.hostname(), username, process.cwd(), process.env values, plus shelled-out `whoami`/`hostname`/`id` via child_process.execSync) and ships it over the network. Outbound destinations include `https://app.interactsh.com` (an out-of-band interaction service commonly used for blind-exfiltration / SSRF beacons) and `http://lululemon.jfrog.io` (a JFrog endpoint referenced by hardcoded URL — consistent with a dependency-confusion attack targeting Lululemon's internal package namespace). Collected data is base64-encoded (Buffer.from(...).toString('base64')) before transmission via https.request. index.js additionally constructs a `curl -X POST` command interpolating `$(whoami)`, `$(hostname)`, and `id` and runs it via child_process.exec. The `99.9.0` version number combined with the lululemon.jfrog.io reference is the canonical dependency-confusion fingerprint: publish a public package with a name matching an internal one and a high version to win resolution. Installer harm: identity, environment variables, working-directory contents, and internal-network reachability data are leaked to attacker-controlled infrastructure on every install.\n\n## Source: ghsa-malware (63f9f508d785f5cb4d1ee04827cfeedbca68cf984838c60f68629d42d216e8dd)\nAny 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.\n","aliases":["GHSA-qm6m-33hv-fvwv"],"modified":"2026-05-26T13:31:43.151717797Z","published":"2026-05-21T12:47:23Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-05-26T05:51:22.249418835Z","versions":["99.9.0"],"sha256":"c31f0a27740cb5929569cf8f37c4dce5500fb09cfabbea826ab5401a105440ee","id":"IN-MAL-2026-003814","source":"amazon-inspector","modified_time":"2026-05-21T12:54:31Z"},{"versions":["99.9.0"],"id":"IN-MAL-2026-003812","sha256":"c9081ad708b658c1bd56299e401ca6a764cc9137d99573bc922d38a7381cc30d","import_time":"2026-05-26T05:51:22.019171662Z","source":"amazon-inspector","modified_time":"2026-05-21T12:52:25Z"},{"versions":["99.0.0"],"id":"IN-MAL-2026-003810","sha256":"f228cd686458ec69affef706712072a1099c5de73f7ca6b77cde113a1b0369fc","import_time":"2026-05-26T05:51:21.806101732Z","source":"amazon-inspector","modified_time":"2026-05-21T12:47:23Z"},{"id":"GHSA-qm6m-33hv-fvwv","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"sha256":"63f9f508d785f5cb4d1ee04827cfeedbca68cf984838c60f68629d42d216e8dd","import_time":"2026-05-26T13:21:46.737061207Z","source":"ghsa-malware","modified_time":"2026-05-26T11:17:03Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/zest-product/v/99.9.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/zest-product/v/99.0.0"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-qm6m-33hv-fvwv"}],"affected":[{"package":{"name":"zest-product","ecosystem":"npm","purl":"pkg:npm/zest-product"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["99.9.0","99.0.0"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","cweId":"CWE-506","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"description":"The product contains code that appears to be malicious in nature.","cweId":"CWE-506","name":"Embedded Malicious Code"}],"indicators":{"domains":["rvnghfmohuqkjsneyjdcmx257ej427baa.oast.fun"],"package_integrity":[{"filename":"zest-product-99.9.0.tgz","hashes":{"sha1":"7da91e9cedb3758151fbf6906e8d47c82b65fb35","sha512_sri":"sha512-4ORUMvr1oepLMFrImvu4o0YiwaYwNXfBQBr7C+PbRvFRYIoFg0KfsJWzySWhFOsLu0WbEdapOH4cFQJm8SDtyw=="}}],"evidence_files":[{"sha256":"ee221dded1258e4cd83e5e3bb4fb09eaf9c99067256f98a3c0a69773d4b4ce93","path":"index.js","tlsh":"00f0a20a05f9d83931a3e47a9f47542b324275431117ff913fce56041fc886440a21fd"},{"sha256":"f09f5ef98da74cbc0f970d3e560f6e293f6f91614985c7649f60f14b06a3ea15","path":"postinstall.js","tlsh":"61c152c595ba326419d28fb8053bac029193e11bfd049ca47ddc03c59fb86a8ccb39e7"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/zest-product/MAL-2026-4738.json"}}],"schema_version":"1.7.5","credits":[{"name":"Amazon Inspector","contact":["actran@amazon.com"],"type":"FINDER"}]}