pnpm has symlink traversal in file:/git dependencies
pnpm is a package manager. Prior to version 10.28.2, when pnpm installs a `file:` (directory) or `git:` dependency, it follows symlinks and reads their target contents without constraining them to the package root. A malicious package containing a symlink to an absolute path (e.g., `/etc/passwd`, `~/.ssh/id_rsa`) causes pnpm to copy that file's contents into `node_modules`, leaking local data. The vulnerability only affects `file:` and `git:` dependencies. Registry packages (npm) have symlinks stripped during publish and are NOT affected. The issue impacts developers installing local/file dependencies andCI/CD pipelines installing git dependencies. It can lead to credential theft via symlinks to `~/.aws/credentials`, `~/.npmrc`, `~/.ssh/id_rsa`. Version 10.28.2 contains a patch.
References
- https://github.com/pnpm/pnpm/security/advisories/GHSA-m733-5w8f-5ggw x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/commit/b277b45bc35ae77ca72d7634d144bbd58a48b70f x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
- https://github.com/pnpm/pnpm/security/advisories/GHSA-m733-5w8f-5ggw x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/commit/b277b45bc35ae77ca72d7634d144bbd58a48b70f x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
- https://github.com/pnpm/pnpm/commit/b277b45bc35ae77ca72d7634d144bbd58a48b70f x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
- https://github.com/pnpm/pnpm/security/advisories/GHSA-m733-5w8f-5ggw x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/security/advisories/GHSA-m733-5w8f-5ggw x_refsource_CONFIRM
- https://github.com/pnpm/pnpm/commit/b277b45bc35ae77ca72d7634d144bbd58a48b70f x_refsource_MISC
- https://github.com/pnpm/pnpm/releases/tag/v10.28.2 x_refsource_MISC
Affected products
- ==< 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