CVE-2026-42036: Axios: HTTP adapter streamed responses bypass maxContentLength
### Summary When responseType: 'stream' is used, Axios returns the response stream without enforcing maxContentLength. This bypasses configured response-size limits and allows unbounded downstream consumption. ### Details In lib/adapters/http.js: - 786-789: for responseType === 'stream', Axios immediately settles with the stream. - 797-810: maxContentLength enforcement exists only in the non-stream buffering branch. So callers may set maxContentLength and still receive/read arbitrarily large streamed responses. ### PoC Environment: - Axios main at commit f7a4ee2 - Node v24.2.0 Steps: 1. Start an HTTP server that returns a 2 MiB response body. 2. Call Axios with: - adapter: 'http' - responseType: 'stream' - maxContentLength: 1024 3. Read the returned stream fully. Observed: - Success; full 2097152 bytes readable. Control check: - Same endpoint with responseType: 'text' and same maxContentLength: rejected with maxContentLength size of 1024 exceeded. ### Impact Type: DoS / unbounded response processing. Impacted: Node.js applications relying on maxContentLength as a safety boundary while using streamed Axios responses.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-42036?
CVE-2026-42036 is rated as a moderate severity vulnerability due to its potential impact on application stability and security.
How do I fix CVE-2026-42036?
To fix CVE-2026-42036, upgrade Axios to versions 1.15.1 or 0.31.1 or later to enforce maxContentLength correctly.
What versions of Axios are affected by CVE-2026-42036?
CVE-2026-42036 affects Axios versions prior to 1.15.1 and 0.31.1.
What type of vulnerability is CVE-2026-42036?
CVE-2026-42036 is a vulnerability that allows the bypassing of the maxContentLength setting when using streamed responses.
Is CVE-2026-42036 present in the latest Axios releases?
CVE-2026-42036 is not present in the latest versions of Axios released after 1.15.1 and 0.31.1.