fix(deps, frontend): update dependency nx to v23.0.2 - #7378
Conversation
Backport auto-label reportThis
|
Automated Reviewer SuggestionsBased on the
|
There was a problem hiding this comment.
Pull request overview
This PR updates the frontend workspace’s Nx dependency from 23.0.1 to 23.0.2 (a patch release that includes a security fix for the self-hosted remote cache Zip-Slip vulnerability described in the PR metadata), and refreshes the Yarn lockfile accordingly.
Changes:
- Bump
nxdevDependency to23.0.2infrontend/package.json. - Update
frontend/yarn.lockwith the newnx@23.0.2entry and associated platform packages / transitive dependency adjustments.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| frontend/package.json | Updates the pinned nx version to 23.0.2. |
| frontend/yarn.lock | Adds nx@23.0.2 and corresponding resolved entries in the lockfile. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7378 +/- ##
============================================
+ Coverage 83.97% 84.22% +0.24%
Complexity 4142 4142
============================================
Files 1169 1169
Lines 46745 46745
Branches 5201 5201
============================================
+ Hits 39253 39369 +116
+ Misses 5787 5675 -112
+ Partials 1705 1701 -4
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bumping the top-level `nx` devDependency alone left the vulnerable 23.0.1 copy in the lockfile: `@nx/angular@23.0.1` pulls `@nx/workspace@23.0.1`, which pins `nx: "npm:23.0.1"` exactly, so yarn kept a nested `node_modules/@nx/workspace/node_modules/nx` at 23.0.1 alongside the hoisted 23.0.2. `@nx/angular` is the only direct `@nx/*` dependency; bumping it to 23.0.2 carries the whole family (`devkit`, `eslint`, `js`, `module-federation`, `rspack`, `web`, `webpack`, `workspace`) with it, and the lockfile now resolves a single `nx@npm:23.0.2`. The duplicate `@nx/nx-*` platform binaries and the stale `axios@1.16.0` (superseded by 1.16.1 in nx 23.0.2) collapse to one set as a result.
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
|
Backport PR opened: draft #7379 (#7379) to |
The cherry-pick of #7378 conflicted only on context: main's devDependency block has drifted ahead of release/v1.2. Keep the release/v1.2 versions for the surrounding entries and take only the intended change, `nx` and `@nx/angular` 23.0.0 -> 23.0.2. yarn.lock is regenerated from the release/v1.2 base with yarn 4.14.1; every nx-family entry it produces is byte-identical to the one on main.
This PR contains the following updates:
23.0.1→23.0.2Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Nx: Zip-Slip in the self-hosted remote cache
CVE-2026-71476 / GHSA-vp3h-ghgh-jr7g
More information
Details
Summary
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. This arbitrary file write can be escalated to remote code execution. The directly exploitable issue is the self-hosted HTTP remote cache.
Affected Packages
Two self-hosted cache surfaces are affected:
NX_SELF_HOSTED_REMOTE_CACHE_SERVER, innx) — fixed in the patched release.@nx/s3-cache,@nx/gcs-cache,@nx/azure-cache,@nx/shared-fs-cache(and their@nx/powerpack-*predecessors) — the same flaw in their own extractor. Deprecated (CVE-2025-36852) and not patched; migrate off (see Remediation).The shared step that copies cached outputs into the workspace was also part of the exposure and is hardened in the patched
nxrelease.Remediation
Upgrade to Nx
22.7.7or23.0.2(or later). The patched extractor is a drop-in — no configuration change is required.If you use the S3, GCS, Azure, or shared-filesystem cache packages
@nx/s3-cache,@nx/gcs-cache,@nx/azure-cache, and@nx/shared-fs-cache(and their@nx/powerpack-*predecessors) are separately versioned packages and are already deprecated (see CVE-2025-36852). Upgradingnxhardens the shared restore step, but it does not fully secure these packages. The remediation for them is to migrate off — to Nx Cloud or the self-hosted OpenAPI/HTTP remote cache — per the deprecation guidance: https://nx.dev/docs/reference/deprecated/self-hosted-cache-packagesDetails
When Nx retrieves an artifact from the self-hosted HTTP remote cache, it downloads a gzipped tar archive and extracts it. The extractor joined each untrusted tar entry name directly onto the output directory and unpacked it with
tar's unguardedEntry::unpack(), which performs no containment check:In addition, restore now copies only the declared task outputs (never the whole cache directory), confined to the workspace root; parent directories are realized as real directories so a write can never traverse a symlink; declared outputs that resolve outside the workspace are rejected; and the malformed-input cases return errors instead of panicking.
References
Credits
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nrwl/nx (nx)
v23.0.2Compare Source
23.0.2 (2026-07-10)
🚀 Features
🩹 Fixes
${configDir}in tsconfig path alias resolution (#36037, #35804)❤️ Thank You
Configuration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.