CVE-2026-50014
Undergoing Analysis
Undergoing Analysis - In Progress
Git Option Injection in pnpm Package Manager
Publication date: 2026-06-25
Last updated on: 2026-06-25
Assigner: GitHub, Inc.
Description
Description
pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm passes the lockfile-controlled git resolution.commit value to git fetch without a -- separator or commit-format validation. For git dependencies fetched through the shallow-fetch path, a malicious lockfile can replace the expected 40-character commit hash with a Git option such as --upload-pack=<command>. For SSH and local transports, --upload-pack can execute the supplied command. HTTPS transports ignore --upload-pack, so the practical attack surface is primarily SSH or local git dependencies. This vulnerability is fixed in 10.34.0 and 11.4.0.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| pnpm | pnpm | to 10.34.0 (inc) |
| pnpm | pnpm | to 11.4.0 (inc) |
| pnpm | pnpm | to 10.34.0 (exc) |
| pnpm | pnpm | to 11.4.0 (exc) |
| pnpm | pnpm | From 11.0.0 (inc) to 11.4.0 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-88 | The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string. |