[Aikido] Fix 5 security issues in esbuild, axios#1712
Open
aikido-autofix[bot] wants to merge 2 commits into
Open
[Aikido] Fix 5 security issues in esbuild, axios#1712aikido-autofix[bot] wants to merge 2 commits into
aikido-autofix[bot] wants to merge 2 commits into
Conversation
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 esbuild and axios to fix RCE via binary execution without integrity verification, credential leakage on cross-origin redirects, path traversal on Windows, and malformed URL bypass vulnerabilities.
✅ Code not affected by breaking changes.
✅ No breaking changes from either package upgrade affect this codebase.
esbuild (0.28.0 => 0.28.1):
The codebase does not use esbuild's local development server
No custom package registries (NPM_CONFIG_REGISTRY) are configured
axios (1.16.1 => 1.18.0):
All axios requests use properly formatted URLs with
https://followed by//All
validateStatusoptions are explicitly defined as functions, never set toundefinedAll breaking changes by upgrading esbuild from version 0.28.0 to 0.28.1 (CHANGELOG)
\backslash characters are no longer allowed in the local development serverNPM_CONFIG_REGISTRY) must now match the expected content due to integrity checks in the Deno APIAll breaking changes by upgrading axios from version 1.16.1 to 1.18.0 (CHANGELOG)
http:andhttps:URLs that omit//are now rejected withERR_INVALID_URL, whereas they may have been accepted previously.validateStatus: undefinedbehavior changed to require opt-in viatransitional.validateStatusUndefinedResolvesto be treated like the option was omitted; without the opt-in, the behavior differs from previous versions.✅ 5 CVEs resolved by this upgrade
This PR will resolve the following CVEs:
servedirroot directory.servedirand read arbitrary files using backslash separators in request paths.X-API-Keyand AWS tokens to unintended hosts, allowing attackers to steal sensitive authentication data. This information disclosure vulnerability affects shared environments where secret headers are set by default.//(e.g.,https:internal.example) were silently normalized instead of rejected, allowing attackers to bypass URL allowlists or WAF checks and reach unintended hosts. The fix now throws an error for invalid scheme URLs before normalization.🤖 Remediation details
Fix security vulnerabilities in
esbuildandaxios(lockfile-only update)Short summary
This PR remediates high- and medium-severity vulnerabilities in two packages:
esbuild(multiple CVEs affecting versions[0.17.0, 0.28.0]) andaxios(multiple CVEs affecting versions[0.19.1, 1.17.0]). Both packages are transitive/workspace dependencies resolved through workspace member manifests (packages/constructs/esbuild,packages/cdk-aspects,packages/constructs/header-change-detection,packages/constructs/prerender-proxy). Because the existing parent semver ranges already admitted the patched versions, the fix required only ayarn.lockrefresh — nopackage.jsonfiles were modified.esbuild
esbuildis pulled in as a direct dependency of two workspace packages:@aligent/cdk-esbuild(packages/constructs/esbuild) and@aligent/cdk-aspects(packages/cdk-aspects), both declaring"esbuild": "^0.28.0". The lockfile had resolved this range to0.28.0, which falls within the vulnerable range. Because^0.28.0already permits0.28.1(the minimum patched version), no manifest change was needed — runningyarn up -R esbuild --mode=update-lockfilewas sufficient to advance the single shared lockfile entry to0.28.1.axios
axiosis a direct dependency of two workspace packages:@aligent/cdk-header-change-detection(packages/constructs/header-change-detection) and@aligent/cdk-prerender-proxy(packages/constructs/prerender-proxy), both declaring"axios": "^1.16.0". It is also a transitive dependency ofnx@20.8.4(spec^1.8.3). The lockfile had resolved the shared entry to1.16.1, which falls within the vulnerable range. The^1.16.0range already permits1.18.0(the minimum patched version), so runningyarn up -R axios --mode=update-lockfileadvanced the resolved version to1.18.0without any manifest edits.Version changes
esbuild0.28.00.28.1^0.28.0range@esbuild/aix-ppc640.28.00.28.1esbuildoptional package@esbuild/android-arm0.28.00.28.1esbuildoptional package@esbuild/android-arm640.28.00.28.1esbuildoptional package@esbuild/android-x640.28.00.28.1esbuildoptional package@esbuild/darwin-arm640.28.00.28.1esbuildoptional package@esbuild/darwin-x640.28.00.28.1esbuildoptional package@esbuild/freebsd-arm640.28.00.28.1esbuildoptional package@esbuild/freebsd-x640.28.00.28.1esbuildoptional package@esbuild/linux-arm0.28.00.28.1esbuildoptional package@esbuild/linux-arm640.28.00.28.1esbuildoptional package@esbuild/linux-ia320.28.00.28.1esbuildoptional package@esbuild/linux-loong640.28.00.28.1esbuildoptional package@esbuild/linux-mips64el0.28.00.28.1esbuildoptional package@esbuild/linux-ppc640.28.00.28.1esbuildoptional package@esbuild/linux-riscv640.28.00.28.1esbuildoptional package@esbuild/linux-s390x0.28.00.28.1esbuildoptional package@esbuild/linux-x640.28.00.28.1esbuildoptional package@esbuild/netbsd-arm640.28.00.28.1esbuildoptional package@esbuild/netbsd-x640.28.00.28.1esbuildoptional package@esbuild/openbsd-arm640.28.00.28.1esbuildoptional package@esbuild/openbsd-x640.28.00.28.1esbuildoptional package@esbuild/sunos-x640.28.00.28.1esbuildoptional package@esbuild/win32-arm640.28.00.28.1esbuildoptional package@esbuild/win32-ia320.28.00.28.1esbuildoptional package@esbuild/win32-x640.28.00.28.1esbuildoptional packageaxios1.16.11.18.0^1.16.0range