pnpm 11.0.0 before 11.11.0 Environment Variable Exfiltration via Proxy Settings
What fixes it
- 11.11.0pnpmCVE List
- 10.34.5pnpmCVE List
- 11.11.0pnpm, npmOSV
npm install pnpm@11.11.0 - 10.34.5pnpm, npmOSV
npm install pnpm@10.34.5
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
pnpm versions 11.0.0 before 11.11.0 and 10.7.0 before 10.34.5 expand ${VAR} environment-variable placeholders in the httpProxy, httpsProxy, and noProxy settings read from a project's pnpm-workspace.yaml. Because the manifest is repository-controlled and the proxy keys were omitted from the request-destination key set that otherwise suppresses placeholder expansion for untrusted manifests (as already done for registry, pnprServer, registries and namedRegistries), an attacker who controls a repository's pnpm-workspace.yaml can cause a victim who clones the repository and runs a pnpm command (e.g. pnpm install) to expand environment secrets such as NPM_TOKEN or GITHUB_TOKEN into a proxy hostname or userinfo and route install traffic — and the corresponding DNS lookups — through an attacker-controlled host. The exfiltration occurs during configuration loading, before any lifecycle script executes. Fixed in pnpm 11.11.0 and 10.34.5.
Text from CVE List
Affected versions 6
- pnpmaffected: 11.0.0 before 11.11.0CVE List
- pnpmunaffected: 11.11.0CVE List
- pnpmaffected: 10.7.0 before 10.34.5CVE List
- pnpmunaffected: 10.34.5CVE List
- pnpm, npmfrom 11.0.0, fixed in 11.11.0OSV
- pnpm, npmfrom 10.7.0, fixed in 10.34.5OSV