CVE-2026-40175
Medium · 4.8CVSS
4.8
EPSS
2.0%
Published
Apr 10, 2026
CISA due date
—
Cloudanix analysis
A flaw in a widely used software component for web communication could allow an attacker to trick an application into sending unauthorized or malicious requests to other systems.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A vulnerability exists where prototype pollution in a third-party dependency can be leveraged to inject unsanitized HTTP headers into outbound requests made by applications using the Axios library. An attacker can manipulate the global Object prototype, causing Axios to inadvertently include malicious headers in requests it sends to other services. This bypasses the intended request configuration and allows for header injection.
Why it matters to the business
Applications using a vulnerable version of this popular HTTP client could be manipulated into sending malicious or malformed requests to other services. This can lead to security control bypasses, session hijacking, cache poisoning, or unauthorized data access against downstream systems. If the application communicates with sensitive internal or external APIs, an attacker could potentially impersonate the application, access restricted data, or disrupt critical business workflows that rely on these API integrations.
How an attack unfolds
An attacker first identifies and exploits a separate prototype pollution vulnerability within the target application or one of its other dependencies. By sending a specially crafted payload (e.g., a JSON object), the attacker pollutes the global `Object.prototype` to include a malicious header definition. Subsequently, when the application uses the vulnerable Axios library to make an HTTP request, Axios merges its configuration with the polluted prototype. It fails to sanitize the inherited properties, resulting in the inclusion of the attacker-controlled header in the final outbound HTTP request sent to a downstream server.
How to fix it
To remediate this vulnerability, upgrade the Axios library to a patched version. The vulnerability is fixed in versions 1.15.0 and 0.3.1. For projects using the 1.x branch, upgrade to version 1.15.0 or later. For projects on the legacy 0.x branch, upgrade to version 0.3.1 or later. It is also highly recommended to audit all dependencies for other prototype pollution vulnerabilities, as this is a required precondition for exploiting this issue in Axios.
How to confirm the fix worked
To validate the fix, ensure that the project's dependency management file (e.g., `package-lock.json`, `yarn.lock`) specifies a patched version of Axios (1.15.0+ or 0.3.1+). Use your package manager's commands, such as `npm list axios` or `yarn list axios`, to confirm the resolved version in the final dependency tree. In a non-production environment, you can test for exposure by attempting to simulate a prototype pollution attack and verifying that custom headers are not injected into Axios requests after the patch is applied.
Typical attack path
- Attacker identifies an application using a vulnerable version of Axios and also containing a separate prototype pollution flaw.
- Attacker crafts a payload to exploit the prototype pollution vulnerability, injecting a malicious header property into the global Object prototype.
- The payload is sent to an exposed application endpoint that processes the malicious data.
- The attacker triggers a legitimate application function that uses Axios to make an outbound HTTP request.
- Axios constructs the request configuration, which now includes the malicious header inherited from the polluted prototype.
- The application sends the HTTP request with the injected header to a downstream service, enabling further attacks or information disclosure.
How to detect it
Detecting exploitation requires behavioral analysis of outbound network traffic from applications using Axios. Monitor for anomalies in HTTP headers, such as unexpected header names or malformed values that deviate from the application's baseline behavior. Correlating application logs (which may show malicious input) with network logs showing outbound requests can help identify suspicious activity. Since the attack depends on prototype pollution, application-level logs showing errors or unexpected behavior during the processing of complex objects could also serve as an early indicator.
What your security team should do
- Prioritize upgrading the Axios library to version 1.15.0 or 0.3.1 (or later) across all applications, starting with those exposed to the internet.
- Utilize Software Composition Analysis (SCA) tools to identify all instances of vulnerable Axios versions within the organization's software portfolio.
- Advise development teams to conduct a broader audit of their projects for other libraries known to be vulnerable to prototype pollution, as this is a prerequisite for exploitation.
- Implement egress network monitoring to detect and alert on anomalous or unexpected headers in outbound HTTP requests from application servers.
The record
Axios is a promise based HTTP client for the browser and Node.js. Versions prior to 1.15.0 and 0.3.1 are vulnerable to a specific gadget-style attack chain in which prototype pollution in a third-party dependency may be leveraged to inject unsanitized header values into outbound requests. This vulnerability is fixed in 1.15.0 and 0.3.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | axios | 0 | 0.31.0 |
| npm | axios | 1.0.0 | 1.15.0 |
Related vulnerabilities
- GHSA-fvcv-3m26-pcqx Axios has Unrestricted Cloud Metadata Exfiltration via Header Injection Chain Same vulnerability
- CVE-2026-44496 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44490 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44492 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44494 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44495 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44486 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios
- CVE-2026-44487 Axios is a promise based HTTP client for the browser and Node.js. Also affects axios