天下漏洞,尽知其名
MEDIUM 重点关注

CVE-2026-101902 Axios 原型污染请求方法篡改漏洞

影响原型污染可致请求方法被篡改,可能触发非预期状态变更

MEDIUM
暂无 CVSS 评分
AI 研判

Axios 是一个用于浏览器和 Node.js 的基于 Promise 的 HTTP 客户端。在 0.27.2 至 0.34.0 之前以及 1.20.0 之前的版本中,默认实例请求若未显式指定 method,会从 Object.prototype 读取继承的 method 值。若同进程内其他漏洞污染了 Object.prototype.method,axios.request({url}) 或 axios({url}) 等调用可能发送状态变更类 HTTP 方法,而非预期的默认 GET。

影响范围

Axios

Axios 0.27.2 起至 0.34.0 之前,以及 1.20.0 之前的版本;官方已在 0.34.0 和 1.20.0 中修复。

漏洞详情

该漏洞属于原型污染读取侧利用(read-side gadget),Axios 本身不产生原型污染源。当请求配置未显式提供 method 时,Axios 会沿原型链读取 Object.prototype.method,从而被攻击者预先污染的值所影响。攻击者需先借助同进程内其他原型污染漏洞写入该属性,之后受害者发起的默认请求就可能被改为 POST、PUT、DELETE 等状态变更方法。

利用条件与风险

利用前提是同一进程内已存在其他可污染 Object.prototype.method 的漏洞,单独利用 Axios 无法触发。实战中可作为原型污染链的放大器,导致非预期的状态变更请求,风险取决于具体业务场景。

修复建议

官方已在 Axios 0.34.0 和 1.20.0 中修复,建议升级至上述或更高版本。临时缓解措施包括:在请求中显式指定 method,避免依赖默认值;同时排查并修复同进程中其他原型污染漏洞,或对 Object.prototype 进行冻结/防护。

原始情报

Axios is a promise-based HTTP client for the browser and Node.js. From 0.27.2 until 0.34.0 and 1.20.0, Axios default-instance requests that omit an explicit method can read an inherited method value from Object.prototype. If another vulnerability in the same process pollutes Object.prototype.method, calls such as axios.request({ url }) and axios({ url }) can send a state-changing HTTP method instead of the expected default GET. Axios does not create the prototype pollution source. This is a read-side gadget in axios request dispatch. This issue is fixed in version 0.34.0 and 1.20.0.