Description
pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can persist package-manager bootstrap metadata in the first YAML document of pnpm-lock.yaml. Before the patch, direct pnpm execution trusted an already resolved packageManagerDependencies entry when the committed env lockfile contained matching pnpm and @pnpm/exe versions. A malicious repository could therefore commit package-manager lockfile package records and snapshots that bypassed fresh package-manager resolution, then cause pnpm to install and execute bytes selected by that committed lockfile state during automatic version switching. This vulnerability is fixed in 10.34.2 and 11.5.3.
Published: 2026-06-25
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A malicious repository can commit a pnpm-lock.yaml that contains pre-resolved dependencies for pnpm and @pnpm/exe. When pnpm later performs an automatic version switch, it trusts these pre-resolved entries and installs the associated package‑manager bytes without re‑resolving them. This enables an attacker to execute arbitrary code contained in the lockfile‑selected package‑manager implementation, effectively granting code execution privileges in environments where pnpm runs the install. The flaw arises from an improper trust boundary between the lockfile metadata and the package‑manager bootstrap process, leading to a critical code‑execution path within the dependency resolution workflow.

Affected Systems

The vulnerability affects the pnpm package manager prior to version 10.34.2 and prior to version 11.5.3. Any project that uses a pnpm‑generated lockfile and allows automatic version switching is susceptible. The affected product is the pnpm command‑line tool from the pnpm team, which manages JavaScript package installations.

Risk and Exploitability

The CVSS score of 8.8 places this issue in the high‑severity category. No EPSS data is currently available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is local or remote (e.g., CI pipelines or developers pulling from a malicious repository) where the attacker can prepare a lockfile that bypasses the fresh package‑manager resolution. Once executed, the attacker could run arbitrary code with the privileges of the user running pnpm. Because the flaw requires only a crafted lockfile and no additional credentials, the potential for exploitation is significant for projects that repeatedly install dependencies from untrusted sources.

Generated by OpenCVE AI on June 25, 2026 at 18:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pnpm to version 10.34.2 or newer (including 11.5.3) to apply the official fix.
  • Delete the existing pnpm-lock.yaml and reinstall dependencies to force a fresh resolution, ensuring no pre‑resolved metadata is used.
  • Implement repository policies that restrict modifications to pnpm-lock.yaml to trusted maintainers and audit lockfile changes in CI pipelines to detect tampering.

Generated by OpenCVE AI on June 25, 2026 at 18:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-w466-c33r-3gjp pnpm: Project env lockfile can short-circuit package-manager resolution and execute lockfile-selected pnpm bytes
History

Fri, 26 Jun 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 25 Jun 2026 22:30:00 +0000

Type Values Removed Values Added
First Time appeared Pnpm
Pnpm pnpm
Vendors & Products Pnpm
Pnpm pnpm

Thu, 25 Jun 2026 17:30:00 +0000

Type Values Removed Values Added
Description pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can persist package-manager bootstrap metadata in the first YAML document of pnpm-lock.yaml. Before the patch, direct pnpm execution trusted an already resolved packageManagerDependencies entry when the committed env lockfile contained matching pnpm and @pnpm/exe versions. A malicious repository could therefore commit package-manager lockfile package records and snapshots that bypassed fresh package-manager resolution, then cause pnpm to install and execute bytes selected by that committed lockfile state during automatic version switching. This vulnerability is fixed in 10.34.2 and 11.5.3.
Title pnpm: Project env lockfile can short-circuit package-manager resolution and execute lockfile-selected pnpm bytes
Weaknesses CWE-345
CWE-494
CWE-829
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-26T03:56:12.858Z

Reserved: 2026-06-17T00:13:10.651Z

Link: CVE-2026-55698

cve-icon Vulnrichment

Updated: 2026-06-26T02:09:17.743Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-25T22:15:04Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-494

    Download of Code Without Integrity Check

  • CWE-829

    Inclusion of Functionality from Untrusted Control Sphere