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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pnpm | pnpm | 11.0.0 – < 11.11.0, 10.7.0 – < 10.34.5 | 11.11.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | pnpm-11.8 | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | pnpm | >= 11.0.0, < 11.11.0 | 11.11.0 | GHSA-vx52-2968-3vc6 |
| npm | pnpm | >= 10.7.0, < 10.34.5 | 10.34.5 | GHSA-vx52-2968-3vc6 |
References
- GitHub Security Advisory (GHSA-vx52-2968-3vc6) vendor-advisory
- VulnCheck Advisory: pnpm 11.0.0 before 11.11.0 Environment Variable Exfiltration via Proxy Settings third-party-advisory