Potential Security Vulnerability Detected
Repository: axios/axios
Commit: de1a810
Author: Jay
Date: 2026-04-21T18:34:54Z
Commit Message
chore: update changelog and packages (#10790)
* chore: update all pacakges and changelog
* chore: update all packages and remove anything un-needed
Pull Request
PR: #10790 - chore: update changelog and packages
Labels: priority::medium, commit::chore
Description:
<!-- This is an auto-generated description by cubic. -->
Summary by cubic
Updates the changelog to v1.15.2 and refreshes dependencies in the root, docs, and ESM test fixtures to align with the release. No runtime/source code changes; maintenance only.
Description
- Summary of changes
- Added v1.15.2 notes to CHANGELOG (security hardening,
allowedSocketPaths, keep‑alive leak fix).
- Bumped
follow-redirects to ^1.16.0; updated dev tools (vitest 4.1.5, @vitest/browser 4.1.5,...
Analysis
Vulnerability Type: Prototype Pollution and SSRF
Severity: High
Description
This update patches prototype pollution vulnerabilities in the Node HTTP adapter by hardening config object handling to avoid using polluted prototype properties. It also mitigates Server-Side Request Forgery (SSRF) attacks via Unix domain sockets by rejecting invalid socketPath values and introducing an allowlist (allowedSocketPaths) for permitted socket paths. Additionally, a memory leak in keep-alive socket handling was fixed, improving reliability under concurrent connections.
Affected Code
/* Vulnerable areas involved reading user-controlled config properties from objects that inherit from Object.prototype, allowing prototype pollution to affect request parameters such as auth, baseURL, socketPath, beforeRedirect, and insecureHTTPParser */
// Example vulnerable code snippet before patch:
function mergeConfig(defaults, config) {
return Object.assign({}, defaults, config); // could be polluted via prototype properties
}
// socketPath value accepted without type validation or allowlist enforcement
Proof of Concept
1. Prototype Pollution:
// Malicious payload to inject prototype pollution
const pollutedConfig = JSON.parse('{"__proto__": {"socketPath": "/malicious/socket"}}');
// Using axios with polluted config causes requests to use attacker-controlled socketPath
axios.request(pollutedConfig); // request is sent via attacker socket
2. SSRF via socketPath:
// Without allowlist, attacker can provide socketPath to internal services
axios.request({ socketPath: '/var/run/docker.sock' }); // access internal docker API
// After patch, passing socketPath not in allowedSocketPaths rejects request
axios.request({ socketPath: '/var/run/docker.sock', allowedSocketPaths: ['/tmp/allowed.sock'] }); // throws AxiosError ERR_BAD_OPTION_VALUE
This issue was automatically created by Vulnerability Spoiler Alert.
Detected at: 2026-04-22T00:01:14.914Z
Potential Security Vulnerability Detected
Repository: axios/axios
Commit: de1a810
Author: Jay
Date: 2026-04-21T18:34:54Z
Commit Message
Pull Request
PR: #10790 - chore: update changelog and packages
Labels: priority::medium, commit::chore
Description:
<!-- This is an auto-generated description by cubic. -->
Summary by cubic
Updates the changelog to v1.15.2 and refreshes dependencies in the root, docs, and ESM test fixtures to align with the release. No runtime/source code changes; maintenance only.
Description
allowedSocketPaths, keep‑alive leak fix).follow-redirectsto^1.16.0; updated dev tools (vitest4.1.5,@vitest/browser4.1.5,...Analysis
Vulnerability Type: Prototype Pollution and SSRF
Severity: High
Description
This update patches prototype pollution vulnerabilities in the Node HTTP adapter by hardening config object handling to avoid using polluted prototype properties. It also mitigates Server-Side Request Forgery (SSRF) attacks via Unix domain sockets by rejecting invalid
socketPathvalues and introducing an allowlist (allowedSocketPaths) for permitted socket paths. Additionally, a memory leak in keep-alive socket handling was fixed, improving reliability under concurrent connections.Affected Code
Proof of Concept
This issue was automatically created by Vulnerability Spoiler Alert.
Detected at: 2026-04-22T00:01:14.914Z