[Aikido] Fix 70 security issues in axios, form-data, next - #38
Closed
aikido-autofix[bot] wants to merge 1 commit into
Closed
[Aikido] Fix 70 security issues in axios, form-data, next#38aikido-autofix[bot] wants to merge 1 commit into
aikido-autofix[bot] wants to merge 1 commit into
Conversation
6 tasks
Author
|
Closed by Aikido: a new AutoFix has been created → #41 |
aikido-autofix
Bot
deleted the
fix/aikido-security-update-packages-99432100-jmbt
branch
September 3, 2026 00:44
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.
Problem
Upgrade axios, form-data, and next to fix critical SSRF, prototype pollution, and proxy bypass vulnerabilities.
Changes
✅ 70 CVEs resolved by this upgrade, including 7 critical 🚨 CVEs
This PR will resolve the following CVEs:
data:scheme URLs that bypass memory limits, causing unbounded memory allocation and process crashes (DoS) on Node.js. The issue affects versions 0.28.0 through 0.30.1 and 1.x before 1.12.0.This issue affects form-data: < 2.5.4, 3.0.0 - 3.0.3, 4.0.0 - 4.0.3.
DELETE/OPTIONSrequests allows attackers to bypass route restrictions and access unintended backend endpoints. An attacker could smuggle malicious requests to internal or admin routes through request boundary disagreement between proxy and backend.fetchcache keys are derived from lossy text decoding of request bodies, allowing distinct requests with different bodies to share cache entries and leak confidential data between callers. The vulnerability affects the App Router and is fixed by keying the cache on raw body bytes instead.beforeInteractivescript serialization insufficiently escapes untrusted input, allowing attackers to break script boundaries and execute arbitrary JavaScript in the browser when untrusted data is passed to script props.fetchresponses fails to account for request body differences, allowing unauthorized users to receive cached responses containing confidential data from other requests. This information disclosure vulnerability affects applications using the App Router.pagePropsdata instead of HTML under certain misconfigurations, potentially leading to information disclosure. This affects self-hosted deployments where responses may be cached without explicit cache-control headers.✅ No breaking changes from either the axios (1.7.8 => 1.16.0) or Next.js (14.2.10 => 15.5.24) upgrades affect this codebase.
Axios Analysis:
The codebase uses axios in
langfuse-node/src/fetch.tswhere it callsaxios.request()with aurlparameter. The breaking change regardingallowAbsoluteUrlsonly affects code that uses bothbaseURLconfiguration and absolute URLs in requests. This codebase does not usebaseURLwith axios - it only passes complete URLs directly toaxios.request().Next.js Analysis:
The codebase contains a Next.js example app in
examples/example-web-nextjsrunning Next.js 14.2.10. However, none of the Next.js 15 breaking changes affect this example:No usage of
cookies()orheaders()fromnext/headersNo usage of
paramsorsearchParamsprops in componentsNo usage of deprecated features like
analyticsId,squoosh,geo,ip,useMDXComponents,strictNextHead,dynamicIO,rootParams, or AMPNo usage of
legacyBehaviorprop on Link componentsNo usage of
forwardRefwith LinkNo intercepting routes with
output: exportNo server directives like
"use server"or"use cache"The route handlers use
export const dynamic = "force-dynamic"which is compatible with Next.js 15The Image component usage has clean
srcattributes without leading/trailing spacesThe minimal
next.config.jshas no deprecated configurationsThe example app is a simple demonstration with basic route handlers and does not use any of the advanced Next.js features that have breaking changes in version 15.
All breaking changes by upgrading next from version 14.2.10 to 15.5.24 (CHANGELOG)
squooshin favor ofsharpas optional dependency for next/imageContent-Dispositiontoattachmentfor next/imagesrchas leading or trailing space in next/imagenext/headchildren reconciler by defaultgeoandipfromNextRequestnext lint"use server"and"use cache") at the same level will no longer be allowed.thisandargumentsin server functions: server functions can no longer usethisorarguments, which will break existing server functions that rely on these features.superin static class methods with server function directives: static class methods with server function directives cannot usesuper, breaking code that previously did so."use cache"is used withoutdynamicIOenabled: builds will now fail if"use cache"is used without enabling thedynamicIOflag.internal_disableSyncDynamicAPIWarningsflagcolorminfeature fromcssnanoexperimental.reactOwnerStackflagrootParams()is now a plain Promise (not exotic)--no-manglingCLI option fornext builddevIndicatorsoptionsappIsrStatusandbuildActivitydevIndicators.buildActivityPositionand renamed topositionoutput: exportis used with intercepting routesuseCacheis enabled and Edge runtime is usedrootParams()incachescopeforwardRefremoved from Link in App RouterlegacyBehaviorprop--turbopackflag withnext start, otherwise throws errorserver.mjsfor standalone withtype: moduleuseMDXComponentsargument removedexperimental.strictNextHeadremovedcookies&headersat runtime in Cache Componentsexperimental.dynamicIOrenamed toexperimental.cacheComponentsunstable_rootParamsdeprecated with warning🤖 Remediation details
Fix critical/high/medium security vulnerabilities in
axios,form-data, andnextShort summary
This PR remediates security vulnerabilities in three packages —
axios,form-data, andnext— affectingexamples/example-web-nextjs. The direct dependencynextwas bumped inpackage.json, its siblingeslint-config-nextwas aligned to the same version, and the transitive dependenciesaxiosandform-datawere resolved to patched versions via lockfile refresh inyarn.lock.axios
axiosis a transitive dependency pulled in bylangfuse-node@3.31.0under the declared range^1.7.4. The lockfile had resolved this to1.7.8, which is vulnerable across a wide range of CVEs. Because the existing parent range^1.7.4already admits1.16.0and above, no manifest change was required — runningyarn upgrade 'axios@^1.7.4'refreshed the stale lockfile entry, resolvingaxiosto1.19.0(≥1.16.0, the highest patched floor across all listed advisories).form-data
form-datais a transitive dependency ofaxios, declared byaxiosat^4.0.0. The lockfile had resolved it to4.0.0, which is vulnerable. The existing range already permits4.0.6, so ayarn upgrade 'form-data@^4.0.0'lockfile refresh was sufficient to move the resolved version to4.0.6without any manifest edit.next
nextis a direct dependency pinned exactly at14.2.10inpackage.json, which falls within the vulnerable range for all listed Next.js advisories. It was bumped to15.5.24— the proposed target and the minimum version satisfying the highest patched floor (15.5.24) across all listed advisories. The companion packageeslint-config-next, which was pinned at13.4.13(the same priornextversion), was aligned to15.5.24in the same edit as required by the related-package alignment policy.Version changes
next14.2.1015.5.24eslint-config-next13.4.1315.5.24nextaxios1.7.81.19.0langfuse-node@3.31.0(^1.7.4)form-data4.0.04.0.6axios(^4.0.0)Release info Sub-libraries affected
Bump level
Libraries affected
Changelog notes
Note
Medium Risk
Next.js 14→15 is a major upgrade with framework breaking changes; scope is limited to the example app and lockfile, but build/runtime regressions are possible until CI or manual verification passes.
Overview
This PR updates
examples/example-web-nextjsdependency versions to address reported vulnerabilities in Next.js, axios, and form-data, with no changes to example app source.package.jsonbumpsnextfrom14.2.10to15.5.24and alignseslint-config-nextfrom13.4.13to15.5.24.yarn.lockis regenerated for that upgrade. Transitive resolutions moveaxiosto1.19.0(vialangfuse-node) andform-datato4.0.6, and pull in Next 15’s toolchain (e.g.sharp, newer@typescript-eslint/*and ESLint plugin versions tied toeslint-config-next15).Reviewers should treat this as a major Next jump for the sample app only; validate
yarn build/next lintand watch for Next 15 breaking changes if the example grows beyond the current minimal App Router setup.Reviewed by Cursor Bugbot for commit beec13e. Bugbot is set up for automated code reviews on this repo. Configure here.