Skip to main content

pnpm CVE-2026-50017

| EUVDEUVD-2026-39495 MEDIUM
Information Exposure (CWE-200)
2026-06-25 GitHub_M GHSA-cjhr-43r9-cfmw
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker deploys rogue npm registry server
  2. Delivery
    Craft repository with .npmrc redirecting registry to rogue server
  3. Exploit
    Developer clones repository and runs pnpm install
  4. Execution
    pnpm forwards user's unscoped _authToken to rogue registry in Authorization header
  5. Persist
    Attacker captures npm authentication token
  6. Impact
    Use stolen token to publish malicious packages or access victim's private registry

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Three conditions must be simultaneously true for exploitation: (1) the victim developer has an unscoped _authToken stored in their user-level npm configuration (e.g., ~/.npmrc contains a bare _authToken= line not scoped to a specific registry host); (2) the attacker can get the developer to execute pnpm metadata fetch or install commands inside a repository whose project-level .npmrc sets registry= to an attacker-controlled URL; and (3) that project .npmrc does not supply its own auth token for the redirected registry, which triggers the fallback to the user's global unscoped credential. Exploitation is bounded by UI:A - passive network presence alone is insufficient; active developer invocation of pnpm is required. Developers using only registry-scoped tokens (e.g., //registry.npmjs.org/:_authToken=...) are not affected regardless of pnpm version. Automated CI systems running pnpm against untrusted repository inputs may be vulnerable if configured with unscoped tokens.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N) scores 6.9, reflecting high confidentiality impact against a network-accessible attack path, tempered by the UI:A requirement - the developer must actively invoke pnpm in a malicious repository. The PR:N metric correctly reflects the attacker perspective: no credentials on the victim machine are needed; only control of a rogue registry endpoint. Real-world risk is asymmetrically high relative to the score because a stolen npm token can be weaponized for supply chain attacks, far beyond the immediate confidentiality boundary. No KEV listing exists and no POC code has been identified, indicating this is not yet under widespread opportunistic exploitation. EPSS data is unavailable in the provided intelligence. The primary limiting factor is the social engineering requirement: the attacker must induce a developer with an unscoped npm token to clone and run pnpm install in a crafted repository - a realistic but non-trivial bar in targeted developer-focused attacks.

Exploit ScenarioDerived

An attacker sets up a server acting as a fake npm registry and publishes or contributes a repository whose .npmrc contains registry=https://attacker-controlled-registry.example.com with no associated auth line. When a developer who has an unscoped _authToken in their ~/.npmrc clones the repository and runs pnpm install, pnpm resolves the attacker's registry as the target and forwards the developer's token in the Authorization header. The attacker's server logs the token, which can then be used to publish malicious packages to the real npm registry or exfiltrate private packages accessible to that account.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 25, 2026

Credential leakage in pnpm package manager versions prior to 10.34.0 and 11.4.0 exposes a developer's unscoped npm authentication token to attacker-controlled registries. When a project-level .npmrc overrides the registry URL without supplying its own auth token, pnpm incorrectly inherits and forwards the user's globally-configured unscoped _authToken to that foreign registry as an Authorization header. No public exploit has been identified at time of analysis, though the real-world impact is severe - a captured npm token can enable supply chain attacks via malicious package publishing.

RemediationAI

Upgrade pnpm to version 10.34.0 or later (v10 branch) or 11.4.0 or later (v11 branch), as confirmed by vendor advisory GHSA-cjhr-43r9-cfmw at https://github.com/pnpm/pnpm/security/advisories/GHSA-cjhr-43r9-cfmw. If an immediate upgrade is not feasible, the most effective compensating control is to replace unscoped _authToken entries in ~/.npmrc with registry-scoped tokens in the form //registry.npmjs.org/:_authToken=TOKEN - scoped credentials are tied to a specific registry hostname and are significantly less likely to be forwarded to a foreign endpoint; the trade-off is a slightly more verbose per-registry configuration. Additionally, developers should audit project-level .npmrc files for unexpected registry= overrides before running pnpm in unfamiliar or third-party repositories. Organizations with CI/CD pipelines should ensure pipeline npm tokens are also scoped rather than unscoped. No workaround fully eliminates risk without either upgrading or removing unscoped tokens.

Affected VersionsENISA

pnpm < 10.33.4
pnpm 11.0.0, < 11.4.0

Affected Packages

npm pnpm fix: 10.33.4, 10.34.0, 11.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pnpm (cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:*) is a Node.js package manager that resolves registry configuration by merging user-level (~/.npmrc) and project-level (.npmrc) configuration files. The CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) root cause is a credential-scoping defect in pnpm's auth-binding logic: when a project .npmrc sets registry= to a new URL but provides no corresponding auth token for that registry, pnpm incorrectly propagates the user's unscoped _authToken - which is intended only for the user's default registry - to the overridden registry endpoint. This violates the principle that credentials should be bound to their origin registry scope. The vulnerability surfaces during normal metadata fetch and install workflows, meaning routine pnpm operations trigger the credential leak without any atypical user action beyond running pnpm in the affected repository.

Know when Pnpm gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Attacker needs no privileges on the victim system (PR:N, AV:N), but developer must invoke pnpm in a malicious repository (UI:R); only the npm token is exposed, so C:H with no integrity or availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Jun 25, 2026 - 19:17 EUVD

DescriptionCVE.org

pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm can send user-level unscoped npm authentication credentials to a registry chosen by a repository-local .npmrc file. In the reproduced case, the user's npm config contains a default registry and an unscoped _authToken. The repository does not provide a token-bearing auth line. It only sets registry= to a different registry URL. During normal pnpm metadata/install workflows, pnpm binds the user-origin unscoped credential to the repository-selected registry and sends it as an Authorization header. This vulnerability is fixed in 10.34.0 and 11.4.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
widely adopted in JavaScript/Node.js monorepo ecosystems, not universal
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Pnpm

View all
CVE-2025-69264 CRITICAL POC
9.8 Jan 07

Arbitrary code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets a git-hosted dependency run co

CVE-2023-37478 CRITICAL POC
9.8 Aug 01

pnpm is a package manager. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentica

CVE-2026-50016 HIGH POC
8.8 Jun 25

Path traversal in pnpm before 10.34.0 and 11.4.0 lets a malicious registry package smuggle '../' segments inside a trans

CVE-2026-55698 HIGH POC
8.8 Jun 25

Arbitrary code execution in the pnpm package manager (versions prior to 10.34.2 and 11.5.3) lets a malicious repository

CVE-2026-55697 HIGH POC
8.8 Jun 25

Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-chosen nativ

CVE-2025-69263 HIGH POC
8.8 Jan 07

Supply-chain integrity bypass in pnpm package manager (versions ≤10.26.2, per description; GHSA states <10.26.0) allows

CVE-2022-26183 HIGH POC
8.8 Mar 21

PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in unex

CVE-2026-50021 HIGH POC
8.1 Jun 25

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 pac

CVE-2025-69262 HIGH POC
7.8 Jan 07

Command injection in pnpm versions 6.25.0 through 10.26.2 allows attackers controlling environment variables to execute

CVE-2026-82393 HIGH POC
7.5 Aug 31

Scoped path traversal in pnpm allows arbitrary filesystem overwrites during package installation, defeating the --ignore

CVE-2026-50015 HIGH POC
7.3 Jun 25

Arbitrary file write and deletion in pnpm package manager (versions prior to 10.34.0 and 11.4.0) lets a malicious contri

CVE-2026-50014 HIGH POC
7.3 Jun 25

Arbitrary command execution in pnpm before 10.34.0 and 11.4.0 allows a malicious lockfile to run code on a developer's m

Vendor StatusVendor

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