[Aikido] Fix 3 security issues in nx, axios, yargs - #1758
Open
aikido-autofix[bot] wants to merge 2 commits into
Open
aikido-autofix[bot] wants to merge 2 commits into
aikido-autofix[bot] wants to merge 2 commits into
Conversation
aikido-autofix
Bot
requested review from
aaronmedina-dev and
tmthrgd-aligent
September 9, 2026 00:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrade nx, axios, and yargs to fix command injection in nx CLI git operations and prototype pollution vulnerabilities in axios and yargs config merging. This update includes breaking changes that require manual migration.
NX Breaking Change - Removed
getJestProjectsWhere your code is affected:
jest.config.ts:1- The file imports and usesgetJestProjects()from@nx/jestImpact: The
getJestProjectsfunction was removed in nx v21.0.0. The Jest configuration will fail when trying to import this deprecated function, breaking the test setup.Remediation: Replace
getJestProjects()with the new approach for configuring Jest projects in nx v21+, which typically involves using theprojectsproperty directly or migrating to the new Jest configuration pattern recommended by nx.All breaking changes by upgrading nx from version 20.8.4 to 22.7.8 (CHANGELOG)
cliproperty from migration definitionsreadWorkspaceConfiggetJestProjectstsConfigoption from the@nx/jest:jestexecutortsConfigandcopyFilesoptions from the@nx/cypress:cypressexecutoruseLegacyVersioningis false by default in release configurationNX_DISABLE_DBenvironment variable has been removed.tscandswcexecutors (theexternalandexternalBuildTargetsoptions are no longer available).decorate-cliscript has been removed.nx formatcommand and generators no longer default to sorting TypeScript path mappings (use--sort-root-tsconfig-pathsflag or setNX_FORMAT_SORT_TSCONFIG_PATHS=trueto keep previous behavior).deleteOutputPathandsassImplementationoptions have been removed from webpack executors.deleteOutputPathandsassImplementationoptions have been removed from rspack executors.useLegacyTypescriptPluginhas changed tofalsefor bundling.simpleNameoption has been removed from library generators.--legacy-peer-depsbehavior is no longer forced by default (configure your package manager if needed).preserveMatchingDependencyRanges(nowtrueby default), andstrictPreidin release configuration.updateDependentsoption now defaults toalwaysinstead ofautoin release configuration.releaseTag*properties have been refactored to a nestedreleaseTagobject.init()onVersionActionshas changed (no longer accepts a second argument; validation now occurs via separatevalidate()method).nx affectedbehavior, which may result in more projects receiving version bumps.config.conventionalCommitsConfigforDefaultChangelogRendereris no longer nullable.componentTestingPreset.reportsDirectoryis now resolved against workspace root instead of project root, which may change the output location for Vitest reports (#34720)All breaking changes by upgrading axios from version 1.18.1 to 1.20.0 (CHANGELOG)
All breaking changes by upgrading yargs from version 17.7.2 to 18.1.0 (CHANGELOG)
command.^20.19.0 || ^22.12.0 || >=23.✅ 3 CVEs resolved by this upgrade
This PR will resolve the following CVEs:
adapter,proxy, ortransformResponse.__proto__keys are not filtered, allowing attackers to pollute object prototypes and manipulate property lookups through malicious configuration objects.🤖 Remediation details
Fix security vulnerabilities in nx, axios, and yargs
Short summary
This PR remediates security vulnerabilities in three packages —
nx,axios, andyargs— by updating declared versions in the rootpackage.jsonand refreshingyarn.lock. Thenxbump is a direct devDependency change;axiosandyargsrequiredresolutionsentries because their immediate parents hard-pin versions that no published release will relax.nx
nxis declared directly in the rootpackage.jsonas an exact-pinned devDependency. The version was bumped from20.8.4to22.7.8(the minimum patched release). Because all sibling@nx/*packages (@nx/esbuild,@nx/eslint,@nx/eslint-plugin,@nx/jest,@nx/js,@nx/node,@nx/workspace) were pinned at the same exact version20.8.4as a coordinated group, they were moved to22.7.8in the same edit to keep the nx ecosystem consistent.axios
axiosis a transitive dependency pulled in by workspace packages (@aligent/cdk-header-change-detection,@aligent/cdk-prerender-proxy) via^1.18.0, and also bynxitself via an exact pin of1.18.1. Even after bumpingnxto22.7.8, that release (and every published nx release through23.3.0-beta.0) still hard-pinsaxiosat exactly1.18.1, so no parent bump can deliver1.20.0. Aresolutionsentry"axios": "1.20.0"was added to the rootpackage.jsonas the only viable path to the patched version.yargs
yargsis a transitive dependency consumed byjest-cli(via^17.3.1) andnx(via^17.6.2). The patched version18.1.0is a semver-major bump that neither parent will ever satisfy:jest-cliup to its latest release30.5.1still declares^17.7.2, andnxthrough23.3.0-beta.0still pins17.7.2. With no viable parent-bump path, aresolutionsentry"yargs": "18.1.0"was added to the rootpackage.jsonas a last resort.Version changes
nx20.8.422.7.8@nx/esbuild20.8.422.7.8nxbump@nx/eslint20.8.422.7.8nxbump@nx/eslint-plugin20.8.422.7.8nxbump@nx/jest20.8.422.7.8nxbump@nx/js20.8.422.7.8nxbump@nx/node20.8.422.7.8nxbump@nx/workspace20.8.422.7.8nxbumpaxios1.18.11.20.0nxhard-pins1.18.1through latest releaseyargs17.7.218.1.0jest-cli,nx) will ever allow^18