Axios: Fetch Adapter Header Injection via Inherited FormData getHeaders
## Summary Axios contains a guard in the Node HTTP adapter to avoid using an inherited `Object.prototype.getHeaders` as a FormData header source. The fetch adapter calls the shared `resolveConfig()` helper before dispatch, and that helper lacks the same guard. If another vulnerability pollutes `Object.prototype` with FormData-like properties and `getHeaders()`, the fetch adapter can merge attacker-controlled headers into the outbound request. Axios does not create the prototype pollution source. This is a read-side gadget in the fetch adapter configuration path. ## Impact An attacker with a prior same-process prototype-pollution primitive can inject headers into fetch-adapter requests. Depending on the target service, this may affect authorization, metadata-service access, cache behavior, conditional request handling, or other application-specific header logic. Plain objects are blocked by current FormData detection. The confirmed path uses arrays or non-plain class instances whose prototype chain can resolve polluted FormData-like properties. ## Affected Functionality Affected: - Fetch adapter requests. - `resolveConfig()` handling of `utils.isFormData(data)`. - Request bodies that can be spoofed as FormData through inherited `Symbol.toStringTag`, `append`, and `getHeaders`. Not affected: - Node HTTP adapter's later FormData header path, which checks `data.getHeaders !== Object.prototype.getHeaders`. - Plain object request bodies rejected by current `isFormData()` plain-obje
GHSA-4hqw-qxg8-jxx2
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-4hqw-qxg8-jxx2
axios
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 1.20.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "1.12.0"
},
{
"fixed": "1.20.0"
}
]
}
],
"package": {
"name": "axios",
"purl": "pkg:npm/axios",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-4hqw-qxg8-jxx2/GHSA-4hqw-qxg8-jxx2.json"
}
}
]- Related CVEs
- CVE-2026-101900
Source reference:
/aliases
Publisher severity
No explicit severity was provided.
- Event
- #39330 · Revision 1
- Added to Heist Feed
- Publisher date