Home

Description

pnpm is a package manager. Prior to version 10.28.2, when pnpm processes a package's `directories.bin` field, it uses `path.join()` without validating the result stays within the package root. A malicious npm package can specify `"directories": {"bin": "../../../../tmp"}` to escape the package directory, causing pnpm to chmod 755 files at arbitrary locations. This issue only affects Unix/Linux/macOS. Windows is not affected (`fixBin` gated by `EXECUTABLE_SHEBANG_SUPPORTED`). Version 10.28.2 contains a patch.

PUBLISHED Reserved 2026-01-21 | Published 2026-01-26 | Updated 2026-01-27 | Assigner GitHub_M




MEDIUM: 6.7CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Problem types

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-732: Incorrect Permission Assignment for Critical Resource

Product status

< 10.28.2
affected

References

github.com/pnpm/pnpm/security/advisories/GHSA-v253-rj99-jwpq

github.com/...ommit/17432ad5bbed5c2e77255ca6d56a1449bbcfd943

github.com/pnpm/pnpm/releases/tag/v10.28.2

cve.org (CVE-2026-24131)

nvd.nist.gov (CVE-2026-24131)

Download JSON