Cyber Resilience

CVE-2026-23888

Path Traversal in Pnpm ≤ 10.28.1

Public PoCPath Traversal
Published
26 January 2026
Modified
28 January 2026
Patch / advisory
CVSS Score v3.1 6.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
EPSS Score 0.0040 33th percentile
Risk Priority 50 floored blend · peak EPSS

Summary

CVE-2026-23888 is a medium-severity Path Traversal (CWE-22) vulnerability in Pnpm Pnpm. Its CVSS base score is 6.5 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Path Interception (T1034); ranked at the 33th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and CM-6 (Configuration Settings) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm's binary fetcher allows malicious packages to write files outside the intended extraction directory. The vulnerability has two attack vectors: (1) Malicious ZIP entries containing `../`…

more

or absolute paths that escape the extraction root via AdmZip's `extractAllTo`, and (2) The `BinaryResolution.prefix` field is concatenated into the extraction path without validation, allowing a crafted prefix like `../../evil` to redirect extracted files outside `targetDir`. The issue impacts all pnpm users who install packages with binary assets, users who configure custom Node.js binary locations and CI/CD pipelines that auto-install binary dependencies. It can lead to overwriting config files, scripts, or other sensitive files leading to RCE. Version 10.28.1 contains a patch.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1034 Path Interception Persistence
**This technique has been deprecated.
T1574 Hijack Execution Flow Stealth
Adversaries may execute their own malicious payloads by hijacking the way operating systems run programs.
T1574.001 DLL Stealth
Adversaries may abuse dynamic-link library files (DLLs) in order to achieve persistence, escalate privileges, and evade defenses.
T1574.008 Path Interception by Search Order Hijacking Stealth
Adversaries may execute their own malicious payloads by hijacking the search order used to load other programs.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1574.007 Path Interception by PATH Environment Variable Stealth
Adversaries may execute their own malicious payloads by hijacking environment variables used to load libraries.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-24056Same product: Pnpm Pnpm
CVE-2026-24131Same product: Pnpm Pnpm
CVE-2026-23889Same product: Pnpm Pnpm
CVE-2023-43586Shared CWE-22, CWE-426
CVE-2024-13158Shared CWE-22, CWE-426
CVE-2024-7061Shared CWE-22
CVE-2025-5981Shared CWE-22
CVE-2024-10389Shared CWE-22
CVE-2023-41780Shared CWE-22
CVE-2024-0980Shared CWE-22

Affected Assets

pnpm
pnpm
≤ 10.28.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V5.3.2

Mitigating Controls (NIST 800-53 r5) AI

Enforces the intended directory access authorizations that path traversal would otherwise bypass.

Secure baseline settings can enforce absolute, organization-controlled paths for critical resources.

Input validation directly neutralizes special path elements before pathname construction occurs.

Information-flow rules can be configured to reject traversals that would move data outside an approved directory boundary.

Least privilege reduces the impact of any unauthorized file access obtained via traversal.

Least-functionality configuration can prohibit unapproved directories or executables from being reachable via search paths.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-05 full match
prevents

Preventing execution of unauthorized code directly blocks the malicious binaries that an untrusted search path would load.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require input validation and path sanitization that prevent relative traversal.

PR.PS-01 partial match
prevents

Hardened configuration baselines can enforce safe search paths and restrict environment variables that enable the weakness.

PR.PS-02 partial match
prevents

Patching/maintenance can remediate known path-traversal flaws in deployed software (partial prevention of exploitability) but does nothing to stop the coding defect from being introduced in the first place.

PR.AA-05 none match
prevents

PR.AA-05 defines and reviews access policies but does not address code-level pathname neutralization, so neither direction prevents CWE-22.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches path traversal via static/dynamic analysis.

degrades

Restricting software installation reduces the chance that untrusted binaries or libraries are placed in search paths.

prevents

Secure SDLC mandates input validation and path sanitization that directly prevent path traversal.

prevents

Application security requirements include rules for safe file handling and canonicalization.

prevents

Secure architecture principles require least-privilege file access and directory isolation.

prevents

Secure coding standards explicitly forbid unsafe path construction and mandate safe APIs.

References