Skip to content
OpenAdvisories
High · 7.1 CVE-2026-82392 EUVD-2026-68816GHSA-c59q-g84q-2gj5

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

Published Aug 31, 2026 · Updated Sep 1, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
pnpm pnpm < 10.34.5, >= 11.0.0, < 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

ReleasePackageFixed inAdvisory
Wolfi rolling pnpm-11.8 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
npm pnpm < 10.34.5 10.34.5 GHSA-c59q-g84q-2gj5
npm pnpm >= 11.0.0, < 11.11.0 11.11.0 GHSA-c59q-g84q-2gj5

References