CVE-2026-23889 pnpm has Windows-specific tarball Path Traversal
Malicious packages can overwrite files outside the directory on Windows via path traversal, potentially leading to code execution or configuration tampering.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-23889?
CVE-2026-23889 is a medium-severity path traversal vulnerability in pnpm, published on 26 Jan 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm's tarball extraction allows malicious packages to write files outside the package directory on Windows. The path normalization only checks for `./` but not `.\`. On Windows, backslashes are directory separators, enabling path traversal. This vulnerability is Windows-only. This issue impacts Windows pnpm users and Windows CI/CD pipelines (GitHub Actions Windows runners, Azure DevOps). It can lead to overwriting `.npmrc`, build configs, or other files. Version 10.28.1 contains a patch.
Weakness: CWE-22
Which versions are affected by CVE-2026-23889?
2 open source packages ship an affected version, including pnpm. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
pnpm npm | All versions | 10.28.1 |
pnpm npm | All versions | 10.28.1 |
Products include Pnpm Pnpm.
How do I fix CVE-2026-23889?
Upgrade pnpm to 10.28.1 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-23889 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-23889 exists.
Other vulnerabilities in pnpm
- CVE-2026-50016 pnpm: Transitive dependency alias path traversal allows project path override via symlink replacement
- CVE-2026-55698 pnpm: Project env lockfile can short-circuit package-manager resolution and execute lockfile-selected pnpm bytes
- CVE-2025-69264 pnpm v10+ Bypass "Dependency lifecycle scripts execution disabled by default"
- CVE-2022-26183 Untrusted Search Path in PNPM
- CVE-2026-59195 pnpm: Path traversal in configDependencies env lockfile allows symlink creation outside node_modules/.pnpm-config
Sources
Also known as GHSA-6x96-7vc8-cm3p, MINI-2v89-hqqx-p9r4.