CVE-2023-37478 json
pnpm incorrectly parses tar archives relative to specification
published 2023-08-01 3 y ago modified 2026-09-10 1 mo ago also GHSA-5r98-f33j-g8h7 , EUVD-2023-2219
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 68%
- public exploits
- 0
- none known
Summary
pnpm is a package manager. It is possible to construct a tarball that, when installed via npm or parsed by the registry is safe, but when installed via pnpm is malicious, due to how pnpm parses tar archives. This can result in a package that appears safe on the npm registry or when installed via npm being replaced with a compromised or malicious version when installed via pnpm. This issue has been patched in version(s) 7.33.4 and 8.6.8.
Patch / fix
- npm pnpm 7.33.4, 8.6.8
- npm @pnpm/exe 7.33.4, 8.6.8
- npm @pnpm/linux-arm64 7.33.4, 8.6.8
- npm @pnpm/linux-x64 7.33.4, 8.6.8
- npm @pnpm/linuxstatic-arm64 7.33.4, 8.6.8
- npm @pnpm/macos-arm64 7.33.4, 8.6.8
- npm @pnpm/macos-x64 7.33.4, 8.6.8
- npm @pnpm/win-x64 7.33.4, 8.6.8
- npm @pnpm/cafs 7.0.5
- pnpm pnpm 7.33.4, 8.6.8
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
1.20% chance of exploitation in the next 30 days, higher than 68% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | pnpm | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/exe | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/linux-arm64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/linux-x64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/linuxstatic-arm64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/macos-arm64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/macos-x64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/win-x64 | <7.33.4 >=8.0.0, <8.6.8 |
7.33.4 8.6.8 |
| npm | @pnpm/cafs | <7.0.5 |
7.0.5 |
Affected products
- pnpm pnpm
Classification
- Weakness
-
- CWE-284 Improper Access Control
References
-
github.com
/pnpm/pnpm/security/advisories/GHSA-5r98-f33j-g8h7
web, vendor-advisory
-
github.com
/pnpm/pnpm/releases/tag/v7.33.4
web, release-notes
-
github.com
/pnpm/pnpm/releases/tag/v8.6.8
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2023-37478
advisory
-
github.com
/pnpm/pnpm
package
Sources
- CVE List CVE-2023-37478
- GitHub Advisory GHSA-5r98-f33j-g8h7
- NVD CVE-2023-37478
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.