axios

Promise based HTTP client for the browser and node.js

Version: 1.8.1 registry icon
Safety score
-175
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security Risks of Known Vulnerabilities
CVE-2026-42034
CWE-770
Threat level: MEDIUM | CVSS score: 5

For stream request bodies, maxBodyLength is bypassed when maxRedirects is set to 0 (native http/https transport path). Oversized streamed uploads are sent fully even when the caller sets strict body limits.



CVE-2026-42039
CWE-674
Threat level: MEDIUM | CVSS score: 5

toFormData recursively walks nested objects with no depth limit, so a deeply nested value passed as request data crashes the Node.js process with a RangeError.



CVE-2025-58754
CWE-770
Threat level: HIGH | CVSS score: 7.5

Axios is a promise based HTTP client for the browser and Node.js. When Axios starting in version 0.28.0 and prior to versions 0.30.2 and 1.12.0 runs on Node.js and is given a URL with the data: scheme, it does not perform HTTP. Instead, its Node http adapter decodes the entire payload into memory (Buffer/Blob) and returns a synthetic 200 response. This path ignores maxContentLength / maxBodyLength (which only protect HTTP responses), so an attacker can supply a very large data: URI and cause the process to allocate unbounded memory and crash (DoS), even if the caller requested responseType: 'stream'. Versions 0.30.2 and 1.12.0 contain a patch for the issue.



CVE-2026-42043
CWE-183
Threat level: HIGH | CVSS score: 8

Background — The Original Vulnerability The original vulnerability (GHSA-3p68-rc4w-qgx5) disclosed that Axios did not normalize hostnames before comparing them against NO_PROXY rules. Specifically, a request to http://localhost./ (with a trailing dot) or http://[::1]/ (with IPv6 bracket notation) would bypass NO_PROXY matching entirely and be forwarded to the configured HTTP proxy — even when NO_PROXY=localhost,127.0.0.1,::1 was explicitly set by the developer to protect loopback services.



CVE-2025-62718
CWE-441
Threat level: CRITICAL | CVSS score: 9.9

Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.0 and 0.31.0, Axios does not correctly handle hostname normalization when checking NO_PROXY rules. Requests to loopback addresses like localhost. (with a trailing dot) or [::1] (IPv6 literal) skip NO_PROXY matching and go through the configured proxy. This goes against what developers expect and lets attackers force requests through a proxy, even if NO_PROXY is set up to protect loopback or internal services. This issue leads to the possibility of proxy bypass and SSRF vulnerabilities allowing attackers to reach sensitive loopback or internal services despite the configured protections. This vulnerability is fixed in 1.15.0 and 0.31.0.



CVE-2026-42033
CWE-1321
Threat level: HIGH | CVSS score: 8

When Object.prototype has been polluted by any co-dependency with keys that axios reads without a hasOwnProperty guard, an attacker can (a) silently intercept and modify every JSON response before the application sees it, or (b) fully hijack the underlying HTTP transport, gaining access to request credentials, headers, and body. The precondition is prototype pollution from a separate source in the same process -- lodash < 4.17.21, or any of several other common npm packages with known PP vectors. The two gadgets confirmed here work independently.



CVE-2026-42036
CWE-770
Threat level: MEDIUM | CVSS score: 5

When responseType: 'stream' is used, Axios returns the response stream without enforcing maxContentLength. This bypasses configured response-size limits and allows unbounded downstream consumption.



CVE-2026-42042
CWE-201
Threat level: MEDIUM | CVSS score: 5

Axios: XSRF Token Cross-Origin Leakage via Prototype Pollution Gadget in withXSRFToken Boolean Coercion



CVE-2026-42041
CWE-1321
Threat level: MEDIUM | CVSS score: 5

Axios: Authentication Bypass via Prototype Pollution Gadget in validateStatus Merge Strategy



CVE-2026-40175
CWE-113
Threat level: MEDIUM | CVSS score: 5

Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.0, the Axios library is vulnerable to a specific "Gadget" attack chain that allows Prototype Pollution in any third-party dependency to be escalated into Remote Code Execution (RCE) or Full Cloud Compromise (via AWS IMDSv2 bypass). This vulnerability is fixed in 1.15.0.



CVE-2026-42044
CWE-1321
Threat level: MEDIUM | CVSS score: 5

Axios: Invisible JSON Response Tampering via Prototype Pollution Gadget in parseReviver



CVE-2026-25639
CWE-754
Threat level: HIGH | CVSS score: 7.5

Axios is a promise based HTTP client for the browser and Node.js. Prior to versions 0.30.3 and 1.13.5, the mergeConfig function in axios crashes with a TypeError when processing configuration objects containing proto as an own property. An attacker can trigger this by providing a malicious configuration object created via JSON.parse(), causing complete denial of service. This vulnerability is fixed in versions 0.30.3 and 1.13.5.



CVE-2026-42035
CWE-113
Threat level: HIGH | CVSS score: 8

A prototype pollution gadget exists in the Axios HTTP adapter (lib/adapters/http.js) that allows an attacker to inject arbitrary HTTP headers into outgoing requests. The vulnerability exploits duck-type checking of the data payload, where if Object.prototype is polluted with getHeaders, append, pipe, on, once, and Symbol.toStringTag, Axios misidentifies any plain object payload as a FormData instance and calls the attacker-controlled getHeaders() function, merging the returned headers into the outgoing request.



CVE-2026-42037
CWE-93
Threat level: MEDIUM | CVSS score: 5

The FormDataPart constructor in lib/helpers/formDataToStream.js interpolates value.type directly into the Content-Type header of each multipart part without sanitizing CRLF (\r\n) sequences. An attacker who controls the .type property of a Blob/File-like object (e.g., via a user-uploaded file in a Node.js proxy service) can inject arbitrary MIME part headers into the multipart form-data body. This bypasses Node.js v18+ built-in header protections because the injection targets the multipart body structure, not HTTP request headers.



CVE-2026-42040
CWE-626
Threat level: LOW | CVSS score: 2

Axios: Null Byte Injection via Reverse-Encoding in AxiosURLSearchParams



CVE-2026-42038
CWE-918
Threat level: MEDIUM | CVSS score: 5

The shouldBypassProxy() function does pure string matching — it does not resolve IP aliases or loopback equivalents. As a result:



CVE-2026-42264
CWE-1321
Threat level: HIGH | CVSS score: 8

Five config properties in the HTTP adapter are read via direct property access without hasOwnProperty guards, making them exploitable as prototype pollution gadgets. When Object.prototype is polluted by another dependency in the same process, axios silently picks up these polluted values on every outbound HTTP request.



Please note that this component is affected by 2 other vulnerabilities
0 Critical  |  0 High  |  1 Medium  |  0 Low  |  1 Suggest

Latest safe minor: 1.16.0 Scan your application codebase with Meterian to see all known vulnerabilities in your open source software dependencies.


Stability

Stay updated with the latest patches and releases. Plan your sofware desisgn. Avoid common known vulnerabilities fixed by the open source community

Latest patch release:   1.8.4

Latest minor release:   1.16.0

Latest major release:   --

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant