MAL-2026-17486 Malicious code in css-scroll-state-polyfill (npm)
Malicious package
Published
MAL-2026-17486 is a malicious package: css-scroll-state-polyfill (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-17486/ (Markdown: https://insights.sbomify.com/MAL-2026-17486/index.md)
- Package
- css-scroll-state-polyfill
- Registry
- npm
What is MAL-2026-17486?
MAL-2026-17486 is a malicious package in css-scroll-state-polyfill, published on 4 Oct 2026.
Official description
The package presents itself as a CSS polyfill but ships a payload file (thunderboltRegistry.js) that executes an IIFE at require time. The IIFE uses child_process to run host-identification commands (id, whoami, uname -a, ifconfig/ip addr, /etc/hosts, hostname) and collects Node version, platform, and PID, then sends the captured data via fetch to a hardcoded webhook.site collector at https://webhook.site/0492a36c-4d7b-408a-865c-226db25987ba. The main index.js is an empty stub; filenames mimic internal Wix Thunderbolt registry modules, consistent with a dependency-confusion squat targeting that namespace. A self-identifying 'beacon=poc15' tag is included in the request. The payload also walks require.cache and deletes any entry whose key contains 'thunderboltRegistry', causing subsequent requires in the same process to re-execute the recon-and-exfiltration path rather than return a cached export, and exports a Proxy that answers arbitrary method accesses to blend in with the impersonated registry.
What should I do about MAL-2026-17486?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.