Description
pacquet, the Rust package-manager component shipped in the pnpm npm package versions >=12.0.0-alpha.0 and <12.0.0-alpha.5, does not validate dependency alias/name paths taken from a lockfile before using them in install-time filesystem joins. When a user installs a project with an attacker-supplied lockfile using --trust-lockfile or a frozen lockfile, alias entries containing path traversal segments (for example '../../escaped-link') are used when creating dependency and package links, bin destinations, hoisted entries, and virtual-store slots, allowing symlinks and directories to be created outside the intended project and node_modules boundary. Version 12.0.0-alpha.5 validates dependency names and every virtual-store slot path with a shared safe-join containment helper before any filesystem materialization, rejecting traversal, absolute, platform-specific, and reserved names with ERR_PNPM_INVALID_DEPENDENCY_NAME.
Published: 2026-09-27
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Path Traversal
Action: Patch Immediately
AI Analysis

Impact

pacquet, the Rust component of pnpm, fails to validate dependency alias paths from a lockfile before using them in filesystem operations during installation. This oversight permits attackers to embed path traversal sequences (for example, "../../escaped-link") within alias entries. When pnpm processes an attacker‑supplied lockfile with the --trust-lockfile or frozen options, it will create symlinks, directories, or links outside the intended project and node_modules boundaries. The result is arbitrary creation and manipulation of files or directories on the local filesystem, potentially overwriting critical data or enabling subsequent exploitation steps.

Affected Systems

The issue affects pnpm versions 12.0.0-alpha.0 through 12.0.0-alpha.4. Versions 12.0.0-alpha.5 and newer contain validation that rejects traversal, absolute, platform‑specific, or reserved names and protects the virtual‑store from unsafe entries.

Risk and Exploitability

The vulnerability scores a CVSS base score of 7.1, indicating medium to high severity. EPSS score is not available; the vulnerability is not listed in CISA KEV. The primary attack vector is a local attacker who can supply or influence the lockfile content. If the lockfile is not trusted, the exploitation can lead to filesystem modifications outside the project directory. Successful exploitation may lead to privilege escalation or compromise of the system file hierarchy, contingent on user privileges during pnpm execution.

Generated by OpenCVE AI on September 27, 2026 at 18:25 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade pnpm to 12.0.0-alpha.5 or later to benefit from validated dependency names and safe‑join containment.
  • If an upgrade cannot be performed immediately, avoid using the --trust‑lockfile or frozen lockfile options when installing packages from untrusted sources.
  • Verify that lockfiles are sourced from reputable origins and inspect alias values for suspicious path traversal before permitting installation.

Generated by OpenCVE AI on September 27, 2026 at 18:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 28 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Sun, 27 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description pacquet, the Rust package-manager component shipped in the pnpm npm package versions >=12.0.0-alpha.0 and <12.0.0-alpha.5, does not validate dependency alias/name paths taken from a lockfile before using them in install-time filesystem joins. When a user installs a project with an attacker-supplied lockfile using --trust-lockfile or a frozen lockfile, alias entries containing path traversal segments (for example '../../escaped-link') are used when creating dependency and package links, bin destinations, hoisted entries, and virtual-store slots, allowing symlinks and directories to be created outside the intended project and node_modules boundary. Version 12.0.0-alpha.5 validates dependency names and every virtual-store slot path with a shared safe-join containment helper before any filesystem materialization, rejecting traversal, absolute, platform-specific, and reserved names with ERR_PNPM_INVALID_DEPENDENCY_NAME.
Title pacquet before 12.0.0-alpha.5 Path Traversal via lockfile alias
First Time appeared Pnpm
Pnpm pnpm
Weaknesses CWE-22
CPEs cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:*
Vendors & Products Pnpm
Pnpm pnpm
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L'}

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-30T15:29:02.862Z

Reserved: 2026-09-27T15:48:49.472Z

Link: CVE-2026-101044

cve-icon Vulnrichment

Updated: 2026-09-30T15:28:56.079Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-27T18:16:30.753

Modified: 2026-09-30T17:23:08.953

Link: CVE-2026-101044

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-27T17:02:33Z

Links: CVE-2026-101044 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T19:00:14Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')