CVE-2024-53866: pnpm no-script global cache poisoning via overrides / `ignore-scripts` evasion
pnpm seems to mishandle overrides and global cache:
- Overrides from one workspace leak into npm metadata saved in global cache
- npm metadata from global cache affects other workspaces
- installs by default don’t revalidate the data (including on first lockfile generation)
This can make workspace A (even running with ignore-scripts=true
) posion global cache and execute scripts in workspace B
Users generally expect ignore-scripts
to be sufficient to prevent immediate code execution on install (e.g. when the tree is just repacked/bundled without executing it).
Here, that expectation is broken
References
Detect and mitigate CVE-2024-53866 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →