Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Network-delivered malicious package, low complexity, no attacker privileges, but victim must run install (UI:R); symlink replacement is primarily integrity/availability, with only secondary confidentiality (C:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionCVE.org
pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm allows a transitive dependency alias from registry package metadata to contain path traversal segments. During install, pnpm later uses that alias as a filesystem path when linking dependency nodes. As a result, a registry package can cause pnpm install --ignore-scripts to replace paths in the current project with symlinks to attacker-controlled dependency package directories. This vulnerability is fixed in 10.34.0 and 11.4.0.
AnalysisAI
Path traversal in pnpm before 10.34.0 and 11.4.0 lets a malicious registry package smuggle '../' segments inside a transitive dependency alias, which pnpm then trusts as a filesystem path while linking dependency nodes. During a normal install - even with pnpm install --ignore-scripts - this allows a published package to replace paths inside the victim's project with symlinks pointing at attacker-controlled dependency directories, corrupting project integrity and enabling downstream code execution. No public exploit is identified at time of analysis; risk is amplified because the bug fires without lifecycle scripts, defeating the --ignore-scripts safety habit.
Technical ContextAI
pnpm is a content-addressable Node.js package manager that builds a nested node_modules layout by symlinking packages from a global store into per-project dependency nodes. The flaw is a CWE-23 (relative path traversal): the dependency 'alias' field, sourced from untrusted registry package metadata for transitive dependencies, is not sanitized before being concatenated into a link target path. Because pnpm reuses that alias as the on-disk location when materializing the dependency graph, embedded ../ sequences escape the intended node_modules subtree and let the resolver write symlinks to arbitrary locations relative to the project root. The affected component is pnpm itself (cpe:2.3:a:pnpm:pnpm:*), and the trigger lives in the link/resolution phase rather than in lifecycle (install/postinstall) scripts.
RemediationAI
Vendor-released patch: upgrade pnpm to 10.34.0 (for the 10.x line) or 11.4.0 (for the 11.x line) or later, per advisory GHSA-hwx4-2j3j-g496 (https://github.com/pnpm/pnpm/security/advisories/GHSA-hwx4-2j3j-g496); pin the upgraded version in CI runners, Corepack/packageManager fields, and developer environments so older binaries cannot silently run. Because the flaw triggers even under --ignore-scripts, do not rely on that flag as a control. Until upgrade is complete, reduce exposure by installing only from a vetted private registry or lockfile-pinned dependencies and avoiding fresh resolution of new transitive packages (trade-off: blocks legitimate dependency updates), running installs in disposable/sandboxed CI containers with no write access to sensitive host paths (trade-off: added CI complexity), and reviewing lockfile diffs for unexpected alias values or symlink targets before merging (trade-off: manual review overhead). These limit blast radius but are not equivalent to the patch.
Arbitrary code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets a git-hosted dependency run co
pnpm is a package manager. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentica
Arbitrary code execution in the pnpm package manager (versions prior to 10.34.2 and 11.5.3) lets a malicious repository
Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-chosen nativ
Supply-chain integrity bypass in pnpm package manager (versions ≤10.26.2, per description; GHSA states <10.26.0) allows
PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in unex
Integrity-check bypass in the pnpm package manager (versions before 10.34.0/10.34.1 and 11.0.0-11.3.x) lets tampered pac
Command injection in pnpm versions 6.25.0 through 10.26.2 allows attackers controlling environment variables to execute
Arbitrary file write and deletion in pnpm package manager (versions prior to 10.34.0 and 11.4.0) lets a malicious contri
Arbitrary command execution in pnpm before 10.34.0 and 11.4.0 allows a malicious lockfile to run code on a developer's m
Path traversal in pnpm's `pnpm stage download` command (versions 11.3.0 through 11.5.2) lets a malicious or compromised
Path traversal in pnpm's global package management flows allows deletion of the global bin directory or its parent when
Same weakness CWE-23 – Relative Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39494
GHSA-hwx4-2j3j-g496