Skip to content

[Aikido] Fix 32 security issues in axios, form-data - #40

Open
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-104356541-fbkv
Open

[Aikido] Fix 32 security issues in axios, form-data#40
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-104356541-fbkv

Conversation

@aikido-autofix

@aikido-autofix aikido-autofix Bot commented Sep 3, 2026

Copy link
Copy Markdown

Problem

Upgrade axios and form-data to fix critical SSRF, proxy bypass, prototype pollution, and HTTP parameter pollution vulnerabilities.

Changes

Security Impact — CVE vulnerabilities fixed by this PR:

✅ 32 CVEs resolved by this upgrade, including 5 critical 🚨 CVEs

This PR will resolve the following CVEs:

Issue Severity           Description
CVE-2026-42043
🚨 CRITICAL
[axios] An attacker who can influence the target URL can bypass NO_PROXY protection by using any address in the 127.0.0.0/8 range except 127.0.0.1, potentially allowing unauthorized access to protected resources. This represents a security bypass vulnerability affecting proxy configuration enforcement.
CVE-2025-62718
🚨 CRITICAL
[axios] Improper hostname normalization in NO_PROXY rule checking allows requests to loopback addresses (localhost., [::1]) to bypass proxy protections, enabling proxy bypass and potential SSRF attacks against internal services. This vulnerability permits attackers to reach sensitive services despite configured NO_PROXY protections.
CVE-2026-42264
🚨 CRITICAL
[axios] Prototype pollution vulnerability allows attackers to pollute Object.prototype through five config properties (auth, baseURL, socketPath, beforeRedirect, insecureHTTPParser), enabling arbitrary HTTP request manipulation and potential RCE when combined with other gadgets.
CVE-2026-42044
🚨 CRITICAL
[axios] Prototype Pollution vulnerability allows attackers to inject a malicious parseReviver function that modifies JSON API responses, enabling privilege escalation, balance manipulation, and authorization bypass. The flaw exists in the default transformResponse function which calls JSON.parse with an unvalidated parseReviver parameter from the config object.
CVE-2026-44494
HIGH
[axios] Prototype pollution vulnerability allows escalation to Man-in-the-Middle attacks by injecting a malicious proxy into the prototype chain, enabling interception and modification of all HTTP traffic including authentication credentials. An attacker can exploit this to read and alter sensitive data in transit.
CVE-2026-44490
HIGH
[axios] Axios contains prototype pollution gadgets that allow upstream dependencies to inject malicious values into HTTP headers or cause synchronous TypeErrors on every request. This enables information disclosure or denial of service attacks when Object.prototype is polluted by other libraries.
CVE-2026-44495
HIGH
[axios] Contains prototype-pollution gadgets in request config processing that can be exploited if Object.prototype is already polluted by another vulnerability, potentially allowing arbitrary code execution or request manipulation. Requires a separate prototype-pollution vulnerability or attacker control over Object.prototype to be exploitable.
CVE-2026-40175
HIGH
[axios] A prototype pollution vulnerability in a third-party dependency can be exploited to inject unsanitized header values into outbound HTTP requests. This could allow attackers to manipulate request headers for potential information disclosure or request forgery attacks.
CVE-2025-58754
HIGH
[axios] A vulnerability allows attackers to supply large data: scheme URLs that bypass memory limits, causing unbounded memory allocation and process crashes (DoS) on Node.js. The issue affects versions starting from 0.28.0 and ignores maxContentLength/maxBodyLength protections.
CVE-2026-25639
HIGH
[axios] The mergeConfig function crashes with a TypeError when processing configuration objects containing proto as an own property, allowing attackers to trigger denial of service. An attacker can exploit this by providing a malicious configuration object created via JSON.parse().
CVE-2026-42038
HIGH
[axios] A hostname normalization bypass in the no_proxy configuration allows requests to IP loopback addresses (127.0.0.1 and [::1]) to incorrectly route through proxies when localhost is specified, enabling potential information disclosure or man-in-the-middle attacks.
CVE-2026-42039
HIGH
[axios] A deeply nested object passed as request data causes the toFormData function to recursively walk without depth limits, crashing the Node.js process with a RangeError (Denial of Service). This allows attackers to trigger application crashes by sending requests with maliciously crafted nested payloads.
CVE-2026-44486
HIGH
[axios] Axios' Node.js HTTP adapter leaks proxy credentials to redirect targets when following redirects through authenticated proxies, allowing the Proxy-Authorization header to persist on redirected requests. This information disclosure vulnerability affects Node.js environments with automatic redirects and authenticated proxy configurations enabled.
CVE-2026-44487
HIGH
[axios] Axios's Node.js HTTP adapter may leak Proxy-Authorization credentials to redirected origins when following redirects from authenticated proxies to direct connections. This allows attackers to obtain proxy credentials intended only for the outbound proxy.
CVE-2026-44488
HIGH
[axios] The fetch adapter fails to enforce configured request and response size limits (maxContentLength/maxBodyLength), allowing oversized bodies to be processed and causing potential resource exhaustion or denial of service attacks.
CVE-2026-44496
HIGH
[axios] A regular expression built from the XSRF cookie name without escaping metacharacters allows attackers to cause expensive regex backtracking, resulting in client-side denial of service by freezing the browser tab during request preparation.
CVE-2026-67317
HIGH
[axios] The fetch adapter fails to enforce maxBodyLength limits for WHATWG ReadableStream request bodies when Content-Length is undetermined, allowing attackers to bypass upload size restrictions and cause resource exhaustion or uncontrolled network egress.
CVE-2026-42033
HIGH
[axios] A prototype pollution vulnerability allows attackers to intercept and modify JSON responses or hijack HTTP transport to access credentials and headers. This requires prior prototype pollution from a co-dependency but enables complete request/response manipulation.
CVE-2026-42035
HIGH
[axios] A prototype pollution gadget in the HTTP adapter allows attackers to inject arbitrary HTTP headers into outgoing requests by polluting Object.prototype with specific properties. This enables header injection attacks that could lead to request manipulation and potential security bypasses.
CVE-2026-67316
HIGH
[axios] Prototype pollution gadgets in request construction allow attackers to inject malicious bodies into bodyless requests and manipulate proxy/serializer settings when Object.prototype is already polluted by another vulnerability, enabling request hijacking and potential RCE.
CVE-2026-42041
MEDIUM
[axios] A Prototype Pollution vulnerability allows attackers to suppress HTTP error responses by polluting Object.prototype.validateStatus, causing all status codes to be treated as successful and bypassing authentication and error handling.
CVE-2025-27152
MEDIUM
[axios] Axios sends requests to absolute URLs even when baseURL is configured, bypassing intended routing and potentially causing Server-Side Request Forgery (SSRF) and credential leakage in both server and client environments.
CVE-2026-42042
MEDIUM
[axios] Uses truthy/falsy semantics instead of strict boolean comparison for XSRF token protection, allowing attackers to bypass same-origin checks via prototype pollution or misconfiguration and steal XSRF tokens sent to cross-origin servers. This enables CSRF attacks against protected endpoints.
CVE-2026-42034
MEDIUM
[axios] A vulnerability allows attackers to bypass the maxBodyLength restriction on stream request bodies when maxRedirects is set to 0, enabling oversized uploads to be sent despite strict body limits. This could lead to denial of service or resource exhaustion attacks.
CVE-2026-42036
MEDIUM
[axios] When responseType is set to 'stream', the library fails to enforce maxContentLength limits, allowing attackers to bypass response-size restrictions and cause denial of service through unbounded data consumption.
CVE-2026-42037
MEDIUM
[axios] A CRLF injection vulnerability in multipart form-data handling allows attackers to inject arbitrary headers into the request body by controlling the .type property of Blob/File objects, bypassing Node.js header protections. This enables header injection attacks and potential request smuggling.
CVE-2026-67312
LOW
[axios] Uncontrolled recursion in formDataToJSON when processing deeply nested bracket-delimited FormData field names causes stack exhaustion, leading to denial of service or process termination. Attackers can exploit this by providing malicious FormData with thousands of nested segments to crash the application.
CVE-2026-67313
LOW
[axios] Uncontrolled recursion in formDataToJSON when processing FormData field names with deeply nested bracket segments allows attackers to exhaust the JavaScript call stack and trigger RangeError, causing denial of service through request failure or process termination.
CVE-2026-42040
LOW
[axios] The encode() function in AxiosURLSearchParams.js improperly reverses percent-encoding of null bytes, converting %00 back to raw null bytes in URL parameters. This could enable injection attacks or bypass security filters that rely on proper URL encoding.
CVE-2026-67319
LOW
[axios] Prototype pollution vulnerability allowing silent injection of Authorization headers and alteration of query-string serialization through inherited properties in nested request option objects when Object.prototype is already polluted.
CVE-2025-7783
🚨 CRITICAL
[form-data] Use of Insufficiently Random Values vulnerability in form-data allows HTTP Parameter Pollution (HPP). This vulnerability is associated with program files lib/form_data.Js.

This issue affects form-data: < 2.5.4, 3.0.0 - 3.0.3, 4.0.0 - 4.0.3.
CVE-2026-12143
HIGH
[form-data] A CRLF injection vulnerability in field names and filenames allows attackers to inject headers or additional multipart parts into requests, potentially enabling form field manipulation or smuggling attacks when untrusted input is used.

Breaking Changes & Upgrade Impact — prefer Warnings / Cautions / ⚠️ sections over implementation sections (upgrade risks, breaking changes, manual migration steps):
⚠️ Breaking changes analysis not available for: axios

✅ No breaking changes for: form-data

Fix Details / Technical Implementation (detailed write-up of what was changed and why):

🤖 Remediation details

Fix transitive security vulnerabilities in axios and form-data (examples/example-node)

Short summary

This PR remediates security vulnerabilities in two transitive dependencies — axios and form-data — within the examples/example-node project. Both packages are pulled in transitively through langfuse-node (and form-data further through axios). No package.json manifest changes were required; all fixes are lockfile-only refreshes in examples/example-node/yarn.lock, advancing the resolved versions to patched releases.

axios

axios is a transitive dependency resolved via langfuse-node → axios@^1.7.4. The installed version 1.7.8 was vulnerable across a wide range of CVEs requiring patched versions up to 1.18.0. Because the parent's declared range (^1.7.4) already permitted any 1.x release, no manifest edit was needed — a lockfile refresh via yarn upgrade 'axios@^1.7.4' was sufficient to advance the resolved version to 1.20.0, satisfying all patched-version floors across the full CVE set.

form-data

form-data is a transitive dependency resolved via langfuse-node → axios → form-data@^4.0.0. The installed version 4.0.0 was vulnerable to two CVEs requiring ≥4.0.4 and ≥4.0.6 respectively. The parent axios's declared range (^4.0.0) already admitted 4.0.6, so a lockfile refresh via yarn upgrade 'form-data@^4.0.0' resolved it to 4.0.6 without any manifest change.

Version changes

Package From To Why updated
axios 1.7.8 1.20.0 Direct CVE fix — lockfile refresh, transitive via langfuse-node
form-data 4.0.0 4.0.6 Direct CVE fix — lockfile refresh, transitive via axios

Release info Sub-libraries affected

Bump level

  • Major
  • Minor
  • Patch

Libraries affected

  • All of them
  • langfuse
  • langfuse-node

Changelog notes

  • Added support for X

Note

Low Risk
Scope is limited to the example app’s lockfile; it reduces known HTTP-client CVE exposure with no application source edits, though axios 1.7→1.20 may still change runtime behavior in the sample.

Overview
Refreshes examples/example-node/yarn.lock only (no package.json changes) to pull patched transitive HTTP dependencies used by langfuse-node.

axios moves from 1.7.8 to 1.20.0, addressing a large set of reported issues (proxy/NO_PROXY bypass, prototype pollution, redirect credential leaks, size-limit bypasses, and related DoS vectors). The lockfile also picks up newer form-data (4.0.0 → 4.0.6), follow-redirects, proxy-from-env, and https-proxy-agent / agent-base as required by the newer axios tree.

Reviewed by Cursor Bugbot for commit 48d90f9. Bugbot is set up for automated code reviews on this repo. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants