CVE-2026-71476 json
Nx: Zip-Slip in the self-hosted remote cache
published 2026-08-06 3 mo ago modified 2026-10-24 15 d ago also GHSA-vp3h-ghgh-jr7g , EUVD-2026-54250
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
Nx is a monorepo solution for TypeScript and polyglot codebases. From version 20.8.0 until 22.7.7 and 23.0.2, the Nx self-hosted HTTP remote cache extracts downloaded cache artifacts without constraining where files are written. A malicious or on-path (MITM) remote cache server can return a crafted tar archive whose entries escape the cache directory and write to arbitrary locations on the machine running Nx, which can be escalated to remote code execution. Nx's default local cache and Nx Cloud are not affected; only workspaces configured to use a self-hosted remote cache are affected. This issue is fixed in versions 22.7.7 and 23.0.2.
Patch / fix
- npm nx 22.7.7, 23.0.2
- github.com/nrwl/nx@2b20c2d commit
- github.com/nrwl/nx@a828076 commit
- github.com/nrwl/nx@ad29657 commit
- github.com/nrwl/nx#36116 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-71476 updated cvss 9.6
nx: @nx/s3-cache: @nx/gcs-cache: @nx/azure-cache: @nx/shared-fs-cache: @nx/powerpack-s3-cache: @nx/powerpack-gcs-cache: @nx/powerpack-azure-cache: @nx/powerpack-shared-fs-cache: Nx: Remote Code Execut
-
Red Hat Ansible Automation Platform 2 automation-platform-ui 2.6.12-1.el9ap, automation-gateway 2.5.20260804-1.el9ap, ansible-automation-platform-26/gateway-rhel9, ansible-automation-platform-27/gateway-rhel9 Red Hat Enterprise Linux 8 grafana, grafana-loki, grafana-mssql, grafana-mysql, grafana-selinux, grafana-graphite, +9 more Red Hat Enterprise Linux 10 grafana 12.4.3-2.el10 Red Hat Hardened Images grafana12.4 12.4.7-0.1.hum1, grafana13.1 13.1.2-0.1.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 3 mo ago
Exploit prediction
0.86% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | nx | >=20.8.0, <22.7.7 >=23.0.0, <23.0.2 |
22.7.7 23.0.2 |
| npm | @nx/s3-cache | <=5.0.7 |
no fix listed |
| npm | @nx/gcs-cache | <=5.0.7 |
no fix listed |
| npm | @nx/azure-cache | <=5.0.7 |
no fix listed |
| npm | @nx/shared-fs-cache | <=5.0.7 |
no fix listed |
| npm | @nx/powerpack-s3-cache | <=5.0.7 |
no fix listed |
| npm | @nx/powerpack-gcs-cache | <=5.0.7 |
no fix listed |
| npm | @nx/powerpack-azure-cache | <=5.0.7 |
no fix listed |
| npm | @nx/powerpack-shared-fs-cache | <=5.0.7 |
no fix listed |
Affected products
- nrwl nx
Classification
References
-
github.com
/nrwl/nx/pull/36116
web
-
github.com
/nrwl/nx/commit/2b20c2da39d263c32ae05767577589481a309fee
web
-
github.com
/nrwl/nx/commit/a82807621e4176e37909d2c1afede661b45cc30
web
-
github.com
/nrwl/nx/commit/ad296578fe980a4aad66f8af0add21f6ddf907d9
web
-
github.com
/nrwl/nx/security/advisories/GHSA-vp3h-ghgh-jr7g
web
-
github.com
/nrwl/nx
package
Sources
- CVE List CVE-2026-71476
- GitHub Advisory GHSA-vp3h-ghgh-jr7g
- NVD CVE-2026-71476
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.