CVE-2026-82393: pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install
When resolving a package, pnpm uses the resolved manifest name as a raw path segment for the isolated-linker import target. A tarball dependency whose package.json name is a scoped path traversal (@x/../../…/<abs path>) is therefore extracted outside node_modules, to an attacker-chosen absolute path, and can overwrite existing files there. Attacker controls the destination, filenames, and contents → arbitrary file write → code execution (e.g. ~/.zshrc, .git/hooks/pre-commit, another package’s code). Occurs during pnpm install even with --ignore-scripts (no lifecycle scripts run), defeating that safety.
Same class as the just-patched GHSA-hwx4 (transitive-dependency alias traversal) and GHSA-v23m (stage download manifest name/version traversal), in a sink their fixes did not cover: the isolated-linker import target keyed by the resolved name.
References
- github.com/advisories/GHSA-vq4v-j7r6-jq4m
- github.com/pnpm/pnpm/commit/51300fd41c5e4c8f47635108e373cc3d1f324fa7
- github.com/pnpm/pnpm/commit/78e29fe5583a1e5d69ea05e414eff310f78d5ed9
- github.com/pnpm/pnpm/pull/12872
- github.com/pnpm/pnpm/pull/12890
- github.com/pnpm/pnpm/releases/tag/v10.34.5
- github.com/pnpm/pnpm/releases/tag/v11.11.0
- github.com/pnpm/pnpm/security/advisories/GHSA-vq4v-j7r6-jq4m
- nvd.nist.gov/vuln/detail/CVE-2026-82393
Code Behaviors & Features
Detect and mitigate CVE-2026-82393 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →