Skip to main content
← All vulnerabilities
CVE-2026-82392GHSA-C59Q-G84Q-2GJ5

pnpm: Virtual store linker path traversal via unvalidated depPath name in lockfileToDepGraph

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 10.34.5, 11.11.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

pnpm is a package manager. Prior to 10.34.5 and from 11.0.0 until 11.11.0, pnpm parses the package name from attacker-controlled pnpm-lock.yaml packages keys with dp.parse(depPath).name and uses it without validation in deps/graph-builder/src/lockfileToDepGraph.ts and pnpm11/deps/graph-builder/src/lockfileToDepGraph.ts. The name reaches path.join(modules, pkgName), storeController.importPackage, and pnpm11/lockfile/to-pnp/src/index.ts, allowing package contents to be written outside node_modules when a user runs pnpm install. When dangerouslyAllowAllBuilds or a matching allowBuilds entry permits lifecycle scripts, the escaped package can execute code with the user's privileges. This issue is fixed in versions 10.34.5 and 11.11.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • pnpm pnpm

    fixed in 10.34.5; From 11.0.0 · fixed in 11.11.0

  • pnpmnpm

    fixed in 10.34.5

  • pnpmnpm

    From 11.0.0 · fixed in 11.11.0

References 7

GitHub · pnpm/pnpm