Skip to main content

pnpm EUVDEUVD-2026-39488

| CVE-2026-50021 HIGH
Improper Validation of Integrity Check Value (CWE-354)
2026-06-25 GitHub_M GHSA-q6j5-fjx5-2mc3
8.1
CVSS 3.1 · NVD
Share

Severity by source

Vendor (GitHub_M) PRIMARY
MEDIUM
qualitative
NVD
8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
6.8 MEDIUM

AC:H because exploitation needs both lockfile modification and control of registry-served content; PR:L for the repository/lockfile write access required; I:H/C:H from arbitrary tampered-package execution, A:N as availability is not the direct impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

8
Source Code Evidence Fetched
Jun 29, 2026 - 21:31 vuln.today
Analysis Updated
Jun 29, 2026 - 21:31 vuln.today
v3 (cvss_changed)
Analysis Updated
Jun 29, 2026 - 21:31 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 29, 2026 - 21:22 vuln.today
cvss_changed
Severity Changed
Jun 29, 2026 - 21:22 NVD
MEDIUM HIGH
CVSS changed
Jun 29, 2026 - 21:22 NVD
6.8 (MEDIUM) 8.1 (HIGH)
Patch available
Jun 25, 2026 - 19:17 EUVD
Analysis Generated
Jun 25, 2026 - 18:21 vuln.today

DescriptionNVD

pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm's tarball extraction worker skips integrity verification when the integrity field is absent from the lockfile resolution. If an attacker can both modify pnpm-lock.yaml to remove the integrity: field and cause the referenced registry URL to serve altered package content, pnpm install --frozen-lockfile can install the altered package without an integrity error. npm's npm ci enforces integrity by default; pnpm's behavior of silently skipping verification is a pnpm-specific fail-open gap. This vulnerability is fixed in 10.34.0 and 11.4.0.

AnalysisAI

Integrity-check bypass in the pnpm package manager (versions before 10.34.0/10.34.1 and 11.0.0-11.3.x) lets tampered packages install silently because the tarball extraction worker skips hash verification whenever the lockfile resolution has no integrity field. An attacker who can both edit pnpm-lock.yaml to drop the integrity: line and cause the referenced registry URL to serve altered content can push a malicious package through pnpm install --frozen-lockfile without any integrity error - a fail-open gap that npm's npm ci does not share. Publicly available exploit code exists; EPSS is low (0.12%, 2nd percentile) and the issue is not in CISA KEV.

Technical ContextAI

pnpm is one of the three major JavaScript/Node.js package managers and relies on Subresource-Integrity-style hashes recorded in pnpm-lock.yaml to guarantee that downloaded tarballs match what was originally resolved. The flaw is a classic CWE-354 (Improper Validation of Integrity Check Value): in addTarballToStore within worker/src/start.ts (lines 189-204) the hash comparison is gated behind if (integrity), and because the TarballResolution type declares integrity?: string as optional, an undefined value makes the guard evaluate false and skips verification entirely. The worker then computes a fresh hash from the unverified bytes and stores it as if legitimate, so even --frozen-lockfile - intended to be the strict, reproducible install mode - fails open rather than rejecting the entry. The affected CPE is cpe:2.3:a:pnpm:pnpm.

RemediationAI

Vendor-released patch: upgrade to pnpm 10.34.1 (10.x line; advisory also lists 10.34.0 as the fix) or 11.4.0 (11.x line), per GHSA-q6j5-fjx5-2mc3 (https://github.com/pnpm/pnpm/security/advisories/GHSA-q6j5-fjx5-2mc3). Until you upgrade, the most effective compensating control is to enforce that every remote tarball resolution in pnpm-lock.yaml carries an integrity: value: add a CI lint/pre-merge check that fails the build if any non-local lockfile entry is missing its integrity field (trade-off: requires custom tooling and may flag legitimately hand-edited lockfiles). Lock down who can modify pnpm-lock.yaml via branch protection and mandatory code review so a stripped integrity field cannot land unnoticed (trade-off: process overhead), and pin installs to a trusted internal registry / proxy with TLS and immutable package versions to remove the attacker's ability to serve altered content at a given URL (trade-off: requires registry infrastructure). These controls address both halves of the attack precondition; none fully substitutes for the patch.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2015-5688 MEDIUM POC
5.0 Sep 04

Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2014-7192 CRITICAL POC
10.0 Dec 11

Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat

Vendor StatusVendor

Share

EUVD-2026-39488 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy