{"id":"MAL-2026-17554","summary":"Malicious code in css-mpmdds-polyfill (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (4bac0cb0a2c693985668a890ff2ace72ff2d00dac60bc5470a77160c4d765106)\nThe package presents itself as a CSS polyfill but ships thunderboltRegistry.js which runs an IIFE at module load. The IIFE acquires child_process via multiple fallbacks (require('child_process'), require('node:child_process'), and a synthesized Module constructor), executes shell commands to collect host identity (id, whoami, uname -a, ifconfig/ip addr, /etc/hosts) along with os.hostname, Node version, platform and pid, and transmits each result via fetch() as query parameters to the hardcoded endpoint http://dxpoc.gt.tc/callback.php/bb8968d0f67000433bf7005dd5ad2d1f over plaintext HTTP to a free-DNS (gt.tc) host unrelated to any CSS polyfill functionality. The IIFE also enumerates require.cache and deletes entries containing 'thunderboltRegistry' so the payload re-executes on every require rather than being memoized. registry-manifest.min.json maps multiple Wix/thunderbolt internal registry module names (siteAssetsRegistry.js, editorRegistry.js, and others) all to the same thunderboltRegistry.js payload mirrored on static.parastorage.com's unpkg mirror, consistent with a dependency-confusion / typosquat targeting the Wix thunderbolt ecosystem. The package stubs a Wix-ecosystem API surface via Proxy to appear functional while the exfil IIFE runs. The package name resembles a CSS polyfill but the shipped behavior is host reconnaissance and exfiltration with cache-busting evasion.\n","modified":"2026-10-05T04:15:05.210727533Z","published":"2026-10-05T03:36:46Z","database_specific":{"malicious-packages-origins":[{"versions":["1.0.0"],"id":"IN-MAL-2026-021021","import_time":"2026-10-05T03:57:39.34766112Z","modified_time":"2026-10-05T03:36:46Z","sha256":"4bac0cb0a2c693985668a890ff2ace72ff2d00dac60bc5470a77160c4d765106","source":"amazon-inspector"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/css-mpmdds-polyfill/v/1.0.0"}],"affected":[{"package":{"name":"css-mpmdds-polyfill","ecosystem":"npm","purl":"pkg:npm/css-mpmdds-polyfill"},"versions":["1.0.0"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"package_integrity":[{"filename":"css-mpmdds-polyfill-1.0.0.tgz","hashes":{"sha1":"413d05dfc5b96e4731170bc5781dde591bb276bf","sha512_sri":"sha512-w3/uJzPKqV/5YRAe2HQ6YmJwJTqlSWvsONxbsebe0bA1oC8o9P34FxYDCoUEm0z8HWCtCGDves6qUxlPttrSSA=="}}],"evidence_files":[{"sha256":"a485cb48081ea590cab385a405886cfe6f30af7d415f30bc8d7937ace461b928","tlsh":"e87154a5b99df02065c33438cb7f4049b4bbc6672d6caee0744899b01f7985c01be6f8","path":"thunderboltRegistry.js"},{"sha256":"1447737dc08969f2fbeb8da54a73ce3a3f7287c8b93a8c01d0b8cca6eeb3e2be","tlsh":"ae0170dd0d0a51ff1bc0998f5406fb0ae6034dc60ceee272592155a078681e112fa7ef","path":"registry-manifest.min.json"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/css-mpmdds-polyfill/MAL-2026-17554.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}