{"id":"CVE-2026-82393","aliases":["GHSA-vq4v-j7r6-jq4m"],"url":"https://o3.security/vulnerability/CVE-2026-82393","summary":"pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install","details":"pnpm is a package manager. Prior to 10.34.5 and 11.11.0, pnpm accepts a scoped path traversal in a tarball dependency's package.json manifest name because pnpm11/resolving/npm-resolver/src/pickPackage.ts rejects slash characters only for unscoped names. During pnpm install, the unvalidated name reaches raw path joins in pnpm11/installing/deps-resolver/src/resolvePeers.ts, pnpm11/installing/deps-resolver/src/index.ts, and pnpm11/deps/graph-builder/src/lockfileToDepGraph.ts, causing package extraction outside node_modules and allowing attacker-controlled files to overwrite arbitrary filesystem paths even when --ignore-scripts is used. The overwrite can replace shell startup files, Git hooks, or installed package code and lead to code execution. This issue is fixed in versions 10.34.5, and 11.11.0.","published":"2026-08-31T21:12:09.196Z","modified":"2026-09-03T03:30:16.757732371Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"npm","name":"pnpm","fixedVersion":"10.34.5"},{"ecosystem":"npm","name":"pnpm","fixedVersion":"11.11.0"}],"fix":{"url":"https://github.com/pnpm/pnpm/commit/51300fd41c5e4c8f47635108e373cc3d1f324fa7","label":"pnpm/pnpm@51300fd"},"references":[{"type":"WEB","url":"https://github.com/pnpm/pnpm/releases/tag/v10.34.5"},{"type":"WEB","url":"https://github.com/pnpm/pnpm/releases/tag/v11.11.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/82xxx/CVE-2026-82393.json"},{"type":"ADVISORY","url":"https://github.com/pnpm/pnpm/security/advisories/GHSA-vq4v-j7r6-jq4m"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-82393"},{"type":"FIX","url":"https://github.com/pnpm/pnpm/commit/51300fd41c5e4c8f47635108e373cc3d1f324fa7"},{"type":"FIX","url":"https://github.com/pnpm/pnpm/commit/78e29fe5583a1e5d69ea05e414eff310f78d5ed9"},{"type":"FIX","url":"https://github.com/pnpm/pnpm/pull/12872"},{"type":"FIX","url":"https://github.com/pnpm/pnpm/pull/12890"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-03T03:30:16.757732371Z"}}