CVE-2026-55487

pnpm: manifest identity spoof satisfies allowBuilds and runs attacker lifecycle

Published Jun 25, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
pnpm is a package manager. Prior to 10.34.2 and 11.5.3, the generic peer-suffix normalizer also stripped parenthesized text from git, URL, tarball, file, and other opaque locators. Approval for one source string could therefore authorize a different attacker-controlled source whose locator normalized to the same value. This vulnerability is fixed in 10.34.2 and 11.5.3.

Analysis

AI-generated

Technical impact

pnpm versions older than 10.34.2 for the 10.x series and older than 11.5.3 for the 11.x series contain a flaw in the peer‑suffix normalizer that strips parenthesized text from git, URL, tarball, file, and other opaque locators. Consequently, a crafted source string can normalize to the same value as an already approved source, allowing an attacker to substitute a malicious source that satisfies the approval check and runs during a pnpm install, thereby executing arbitrary code on the host. The issue involves a trust boundary bypass and improper input validation, which map to multiple CWE identifiers (CWE-140, CWE-346, CWE-693, CWE-829).

Affected Systems

All installations of pnpm that are earlier than the patched releases, including developers’ local environments and continuous‑integration pipelines that resolve dependencies with these versions, are affected. Any party that can influence a package.json or lockfile that pnpm processes risks inadvertently installing a malicious source.

Risk and Exploitability

The CVSS score of 7.5 indicates a moderate‑to‑high severity. The EPSS score of <1% suggests that exploitation is unlikely at this time, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker who can modify a dependency specification—by altering a package.json file, a lockfile, or publishing a new package that pnpm will resolve—can make a crafted source bypass approval checks. This vulnerability, identified by several CWE identifiers including CWE-140, CWE-346, CWE-693, and CWE-829, may allow remote delivery of malicious code if the attacker controls the publishing of a package that vulnerable pnpm installations will resolve.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade pnpm to version 10.34.2 or later on the 10.x series, or to 11.5.3 or later on the 11.x series to apply the corrected normalisation logic.
  • If an upgrade cannot be performed immediately, restrict pnpm to approved registries and disable the "allowBuilds" option during dependency resolution to block the installation of untrusted source code.
  • Audit existing lockfiles and dependency manifests for suspicious or mismatched source URLs and enforce source‑integrity checks before installation proceeds.

Generated by OpenCVE AI on July 31, 2026 at 16:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-5wx6-mg75-v57r pnpm: Manifest identity spoof satisfies allowBuilds and runs attacker lifecycle
History
Type Values Removed Values Added
First Time appeared Pnpm
Pnpm pnpm
Vendors & Products Pnpm
Pnpm pnpm
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
Description pnpm is a package manager. Prior to 10.34.2 and 11.5.3, the generic peer-suffix normalizer also stripped parenthesized text from git, URL, tarball, file, and other opaque locators. Approval for one source string could therefore authorize a different attacker-controlled source whose locator normalized to the same value. This vulnerability is fixed in 10.34.2 and 11.5.3.
Title pnpm: manifest identity spoof satisfies allowBuilds and runs attacker lifecycle
Weaknesses CWE-346
CWE-693
CWE-829
References
Metrics cvssV3_1

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

Weaknesses
  • CWE-140

    Improper Neutralization of Delimiters

  • CWE-346

    Origin Validation Error

  • CWE-693

    Protection Mechanism Failure

  • CWE-829

    Inclusion of Functionality from Untrusted Control Sphere

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jun 25, 2026, 6:03 PM
Reserved
Jun 16, 2026, 10:28 PM
Status
Analyzed
Published
Jun 25, 2026, 6:16 PM
Modified
Jun 29, 2026, 9:16 PM
Severity
Important
Public date
Jun 25, 2026, 4:41 PM