Untriaged
pnpm has Path Traversal via arbitrary file permission modification
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.
References
- https://github.com/pnpm/pnpm/security/advisories/GHSA-v253-rj99-jwpq x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/commit/17432ad5bbed5c2e77255ca6d56a1449bbcfd943 x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
- https://github.com/pnpm/pnpm/security/advisories/GHSA-v253-rj99-jwpq x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/commit/17432ad5bbed5c2e77255ca6d56a1449bbcfd943 x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
Affected products
pnpm
- ==< 10.28.2
Matching in nixpkgs
pkgs.pnpm_8
Fast, disk space efficient package manager for JavaScript
pkgs.pnpm_9
Fast, disk space efficient package manager for JavaScript
pkgs.pnpm_10
Fast, disk space efficient package manager for JavaScript
pkgs.pnpm-shell-completion
Complete your pnpm command fastly
Package maintainers
-
@gepbird Gutyina Gergő <gutyina.gergo.2@gmail.com>
-
@Scrumplex Sefa Eyeoglu <contact@scrumplex.net>
-
@donovanglover Donovan Glover