Resources
  • Research
  • Threat Analysis Brief Reports
Axios CRLF Header Injection Chain Vulnerability: CVE-2026-40175
2026.04.22

✅ Report Title: Quick Overview of Axios CRLF Header Injection Chain Vulnerability: CVE-2026-40175



✅ Executive Summary:


📌 Details of Axios Header Injection Chain Vulnerability


- On April 10, 2026, CVE-2026-40175, an HTTP Header Injection Chain vulnerability in Axios, was urgently patched.


- The vulnerability was found to affect versions below 0.31.0, 1.15.0.


- A CVSS 3.1 score of 10.0 (Critical) was announced on April 10, 2026, followed by the release of a patch.


- As of April 14, 2026, no known exploitation cases have been confirmed. However, given the widespread use of Axios, the potential impact—including the compromise of cloud environments—is significant, and proactive threat detection is strongly recommended.



📌 Note: NPM Package Supply Chain Attack in March 2026


- Between 00:21 and 03:20 UTC on March 31, 2026, a software supply chain attack targeted the axios NPM package, one of the most widely used HTTP client libraries in the JavaScript ecosystem.


- According to Wiz, axios is downloaded approximately 100 million times weekly and is present in about 80% of cloud and code environments. The threat actor compromised a maintainer account to inject a malicious dependency package (plain-crypto-js) and distribute a cross-platform backdoor (WAVESHAPER.V2).


- While the malicious version was removed within a few hours, Wiz reported that actual malware execution was observed in approximately 3% of the affected environments.



📌 Root Cause of the Vulnerability


- The vulnerability is an injection issue resulting from the combination of missing CRLF validation for HTTP header values in AxiosHeaders.js and the influx of prototype-polluted properties into the header processing path.


- If Object.prototype is pre-polluted via third-party packages (e.g., qs, minimist) on the target server, the polluted properties are treated as legitimate default headers and passed into AxiosHeaders.set.


- The HTTP adapter (lib/adapters/http.js) directly forwards the result of headers.toJSON() to the options.headers field of Node.js http(s).request. Since Node.js does not revalidate these header values, two HTTP requests can be embedded within a single TCP stream.


- These split packets are interpreted as independent Smuggled Requests, enabling unauthorized PUT requests to metadata services and potentially leading to credential exfiltration.



✅ Recommended Threat Detection and Mitigation Actions:


- Apply the security updates provided by the vendor.

  - Upgrade to version 0.31.0, 1.15.0 or later.


- If immediate patching is not feasible, implement the following mitigation measures:

  - Update dependencies with known prototype pollution history (e.g., qs, minimist, lodash.merge) to the latest versions.

  - Enable real-time monitoring rules to detect abnormal CRLF patterns within HTTP streams.

  - Validate all header values in lib/adapters/http.js and xhr.js before passing them to downstream request functions.

  - In AWS environments, establish policies to block abnormal process traffic directed to the IMDSv2 endpoint (169.254.169.254).


- Continuously update threat detection rules and maintain ongoing monitoring while applying the latest patches.



🧑‍💻 Report Author: S2W TALON


👉 Contact us: https://s2w.inc/en/contact


*The full report is available upon request and for QUAXAR subscribers.


List