MAL-2026-17517Malicious code in popover-anchor-polyfill (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | popover-anchor-polyfill | 1.0.0 |
{"modified":"2026-10-04T23:26:32Z","published":"2026-10-04T23:26:32Z","schema_version":"1.7.4","id":"MAL-2026-17517","summary":"Malicious code in popover-anchor-polyfill (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (31e270ae326e5c45ebeb5fcf7bc9ff96126908c194bef5f280a4028fff0e9ed9)\nThe package advertises itself as a 'popover anchor positioning polyfill' but ships thunderboltRegistry.js, which executes an IIFE on module load that spawns shell commands via child_process.execSync (`id`, `whoami`, `uname -a`, `ifconfig`/`ip addr`) and reads `/etc/hosts`, then transmits each command's output together with hostname, Node version, platform, and pid over plain HTTP GET requests to the hardcoded endpoint http://dxpoc.gt.tc/callback.php/ef9ea0e191006f3cc6670720c99c26f3. The require path uses cache-bypass tricks (deleting require.cache entries matching 'thunderboltRegistry' and manually constructing a fresh Module to re-resolve child_process) to defeat mocking or interception. Sibling stub files and a `registry-manifest.min.json` impersonate Wix thunderbolt internal registry names (thunderboltRegistry, siteAssetsRegistry, documentManagementRegistry, editorRegistry, corvidRegistry) and reference static.parastorage.com, indicating a dependency-confusion lure targeting Wix build pipelines. The declared polyfill purpose does not match the shipped Wix-internal namespace exports, and no popover-polyfill functionality is implemented.\n","affected":[{"package":{"ecosystem":"npm","name":"popover-anchor-polyfill"},"versions":["1.0.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"thunderboltRegistry.js","sha256":"b5389ce14f205c3930883356fdb46e32a129e17e008c100eae468409b3afaa4e","tlsh":"697144a5b99df02165c33438cb7f4049b4bbc6672d6caee0744999b01f7985c01be6f4"}],"package_integrity":[{"filename":"popover-anchor-polyfill-1.0.0.tgz","hashes":{"sha1":"fa7116eaa9e7ef7894f96851f7ac776c15c81377","sha512_sri":"sha512-YNT8oKiR1SJ7cRjHLqGXVxMxyy4ZuclvalNxOQSd+dCpXZ5/L/AgFrjJuD5+4WQvPl+Ko7B0Y4OfgrTjSCPvdQ=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/popover-anchor-polyfill/v/1.0.0"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["inspector-research@amazon.com"]}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-020961","import_time":"2026-10-04T23:40:46.178965405Z","modified_time":"2026-10-04T23:26:32Z","sha256":"31e270ae326e5c45ebeb5fcf7bc9ff96126908c194bef5f280a4028fff0e9ed9","source":"amazon-inspector","versions":["1.0.0"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0