CVE-2026-101904 Axios 原型污染漏洞
影响攻击者可注入任意请求头,可能窃取或篡改授权信息
Axios 是浏览器和 Node.js 中常用的基于 Promise 的 HTTP 客户端。在 1.0.0 至 1.20.0 版本中,dispatchRequest 函数在规范化请求配置时会读取从 Object.prototype 继承的 headers 属性。当同进程内存在其他原型污染漏洞污染了 Object.prototype.headers 时,攻击者控制的请求头会被下游请求处理逻辑采用。
影响范围
Axios 1.0.0 至 1.20.0 版本;1.20.0 已修复。
漏洞详情
该漏洞属于原型污染导致的安全配置继承问题。攻击者需先利用同进程内另一个原型污染漏洞,将恶意请求头写入 Object.prototype.headers;随后受信任的请求拦截器返回一个不含自有 headers 属性的普通配置对象,dispatchRequest 在规范化时便会读取到被污染的继承属性。最终下游请求会携带攻击者指定的请求头,包括与授权相关的字段。
利用条件与风险
利用前提是目标进程已存在其他原型污染漏洞,且应用使用了受影响的 Axios 版本并经过请求拦截器链。实战中可导致敏感请求头被篡改或凭据泄露,风险取决于同进程原型污染漏洞的可利用性。
修复建议
升级至 Axios 1.20.0 或更高版本。临时缓解措施包括:排查并修复同进程内的原型污染漏洞,避免使用会返回无自有 headers 属性的请求拦截器,或对请求配置进行显式冻结与校验。
Axios is a promise-based HTTP client for the browser and Node.js. From 1.0.0 until 1.20.0, the dispatchRequest function normalizes inherited Object.prototype.headers from a replacement request configuration. A separate same-process prototype-pollution flaw sets Object.prototype.headers, and trusted request interceptors return a new ordinary configuration without an own headers property. After the interceptor chain, dispatchRequest resolves the inherited headers during normalization. Downstream request processing can observe attacker-controlled headers, including authorization-related values. This issue is fixed in version 1.20.0.