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.
History

Mon, 26 Jan 2026 22:15:00 +0000

Type Values Removed Values Added
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.
Title pnpm has Path Traversal via arbitrary file permission modification
Weaknesses CWE-22
CWE-732
References
Metrics cvssV4_0

{'score': 6.7, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-01-26T22:03:33.808Z

Reserved: 2026-01-21T18:38:22.474Z

Link: CVE-2026-24131

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-01-26T22:15:56.830

Modified: 2026-01-26T22:15:56.830

Link: CVE-2026-24131

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.