Skip to content

[Aikido] Fix 27 security issues in axios, form-data - #35

Closed
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-91939411-rnpt
Closed

[Aikido] Fix 27 security issues in axios, form-data#35
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-91939411-rnpt

Conversation

@aikido-autofix

@aikido-autofix aikido-autofix Bot commented Aug 19, 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:

✅ 27 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), allowing requests to reach unintended destinations. This enables potential information disclosure or unauthorized access to local services.
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 in HTTP adapter allows attackers to exploit five config properties (auth, baseURL, socketPath, beforeRedirect, insecureHTTPParser) without hasOwnProperty guards, enabling RCE or request manipulation when Object.prototype is polluted by other dependencies.
CVE-2026-42044
🚨 CRITICAL
[axios] Prototype Pollution vulnerability allows attackers to manipulate JSON API responses through a polluted parseReviver function, enabling privilege escalation, balance manipulation, and authorization bypass. The default transformResponse function unsafely 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 read and alter all application HTTP communications through a compromised dependency.
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 could 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 prior 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 allows attackers to manipulate request headers, potentially leading to request smuggling, cache poisoning, or other header-based 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 0.28.0 through 0.30.1 and 1.x before 1.12.0.
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] Incomplete hostname normalization in no_proxy bypass allows requests to IP loopback addresses (127.0.0.1, [::1]) to route through proxy when no_proxy=localhost is set, enabling proxy bypass circumvention. This occurs due to pure string matching without IP alias resolution.
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 vulnerability allows attackers to trigger application crashes through 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 proxied to direct connections, allowing credential disclosure. This occurs when an authenticated proxy request redirects to a non-proxied URL, potentially exposing proxy credentials to the final destination.
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-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-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] Unsanitized CRLF sequences in the Content-Type header of multipart form-data parts allow header injection attacks when processing user-controlled Blob/File objects. An attacker can inject arbitrary MIME headers into the multipart body, bypassing Node.js v18+ header protections.
CVE-2026-42040
LOW
[axios] A character mapping in the encode() function incorrectly reverses percent-encoding of null bytes, converting %00 back to raw null bytes and potentially enabling injection attacks in certain contexts. The vulnerability has limited impact as standard axios request flows are unaffected.
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 the field and filename arguments allows attackers to inject headers or multipart parts into requests, potentially enabling form field manipulation or bypass attacks when untrusted input is used as field names or filenames.

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 (not declared directly in package.json), so the fix is a lockfile-only change: the resolved versions in examples/example-node/yarn.lock were refreshed to patched releases. No manifest (package.json) changes were required or made.

axios

axios is a transitive dependency resolved via langfuse-node → axios@^1.7.4. The existing parent range ^1.7.4 already permitted a patched release, so no manifest edit was needed — running yarn upgrade 'axios@^1.7.4' refreshed the lockfile entry from the vulnerable 1.7.8 to 1.19.0. The upgrade also pulled in updated transitive dependencies of axios itself (follow-redirects, https-proxy-agent, proxy-from-env, and several supporting packages) that accompany the new release.

form-data

form-data is a transitive dependency resolved via langfuse-node → axios → form-data@^4.0.0. The parent range ^4.0.0 already permitted 4.0.6, so the lockfile entry was refreshed as a side-effect of the axios upgrade above — no separate action was required. The resolved version moved from the vulnerable 4.0.0 to 4.0.6, and form-data@4.0.6 introduces additional transitive dependencies (es-set-tostringtag, hasown) that are reflected in the updated lockfile.

Version changes

Package From To Why updated
axios 1.7.8 1.19.0 Direct CVE fix (lockfile refresh of transitive via langfuse-node@^1.7.4)
form-data 4.0.0 4.0.6 Direct CVE fix (lockfile refresh of transitive via axios@^4.0.0)
follow-redirects 1.15.9 1.16.0 Transitive after axios bump (axios@1.19.0 requires ^1.16.0)
proxy-from-env 1.1.0 2.1.0 Transitive after axios bump (axios@1.19.0 requires ^2.1.0)
https-proxy-agent (not present) 5.0.1 New transitive dependency introduced by axios@1.19.0
agent-base (not present) 6.0.2 New transitive dependency introduced by https-proxy-agent@5.0.1
call-bind-apply-helpers (not present) 1.0.2 New transitive dependency introduced by axios@1.19.0 / form-data@4.0.6 chain
dunder-proto (not present) 1.0.1 New transitive dependency introduced by axios@1.19.0 chain
es-define-property (not present) 1.0.1 New transitive dependency introduced by axios@1.19.0 chain
es-object-atoms (not present) 1.1.2 New transitive dependency introduced by axios@1.19.0 chain
es-set-tostringtag (not present) 2.1.0 New transitive dependency introduced by form-data@4.0.6
get-proto (not present) 1.0.1 New transitive dependency introduced by axios@1.19.0 chain
has-tostringtag (not present) 1.0.2 New transitive dependency introduced by form-data@4.0.6 / axios@1.19.0 chain
hasown (not present) 2.0.4 New transitive dependency introduced by form-data@4.0.6 / axios@1.19.0 chain
math-intrinsics (not present) 1.1.0 New transitive dependency introduced by axios@1.19.0 chain

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

Medium Risk
axios jumps several minor versions with possible API/behavior changes for HTTP/proxy handling used by langfuse-node, though scope is limited to the example app’s lockfile.

Overview
Lockfile-only security refresh for examples/example-node: yarn.lock now resolves transitive axios from 1.7.8 → 1.19.0 (via langfuse-node’s ^1.7.4) and form-data from 4.0.0 → 4.0.6 (via axios). No package.json changes.

The axios bump also updates its direct deps (follow-redirects, proxy-from-env, form-data) and adds https-proxy-agent (and related packages such as agent-base, debug@4, and several es-* / hasown helpers pulled in by the newer axios/form-data chain).

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

@aikido-autofix

aikido-autofix Bot commented Sep 3, 2026

Copy link
Copy Markdown
Author

Closed by Aikido: a new AutoFix has been created → #40

@aikido-autofix aikido-autofix Bot closed this Sep 3, 2026
@aikido-autofix
aikido-autofix Bot deleted the fix/aikido-security-update-packages-91939411-rnpt branch September 3, 2026 00:43
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