Axios严重漏洞:原型污染可致凭证窃取与响应劫持

Axios(npm)被曝高危原型污染小工具漏洞CVE-2026-44495。攻击者可利用其他组件的原型污染,通过Axios的mergeConfig函数窃取请求凭证(auth、URL、headers)并劫持响应数据。影响所有v0.x和v1.x版本,请立即升级至v1.15.1或v0.30.0。

🔓 High 漏洞利用

流行HTTP客户端Axios存在一个高危原型污染小工具漏洞。攻击者若通过其他漏洞(如qs解析器)污染了`Object.prototype.transformResponse`,Axios在处理请求配置时会执行该恶意函数,从而窃取请求中的认证凭证、URL和响应数据,或篡改返回给应用的响应内容。

来源:OSV | 2026-05-29 | 原文链接

🔍 关键发现

  • Axios的`mergeConfig()`函数在读取配置时未进行自身属性检查,会遍历原型链,导致`Object.prototype`上的污染属性被当作有效配置。
  • 当`transformResponse`被污染为函数时,Axios会执行该函数替代默认的JSON解析器,攻击者可借此窃取`auth`、URL、header及原始响应数据。
  • 该漏洞不依赖Axios自身的输入,需要其他组件(如qs、lodash)存在原型污染漏洞作为前置条件,但一旦满足,影响范围覆盖所有Axios请求。

⚔️ 攻击链分析

1. 攻击者利用应用中的其他漏洞(如查询字符串解析器)污染`Object.prototype.transformResponse`。 2. 受害者应用使用Axios发起任意请求。 3. Axios在合并配置时读取到被污染的`transformResponse`属性,执行恶意函数。 4. 恶意函数以请求配置为`this`上下文,窃取凭证和响应数据,并返回篡改后的数据给应用。

🚩 失陷指标 (IOC)

  • Object.prototype.transformResponse =
  • 请求响应被替换为固定值(如{ hijacked: true })

🛡️ 缓解建议

  • ✅ 将Axios升级至修复版本(v1.x >= 1.15.1,或v0.x >= 0.30.0),这些版本使用自身属性检查和空原型配置对象。
  • ✅ 在应用层面,对`Object.prototype`进行冻结(`Object.freeze(Object.prototype)`)以防止任何原型污染。
  • ✅ 审计并修复应用中所有可能引入原型污染的依赖库(如qs、lodash、minimist等)。

涉及漏洞:["CVE-2026-44495"]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ Axios自身会直接导致原型污染吗?

不会。Axios不直接造成原型污染,该漏洞是一个“小工具”,需要应用的其他部分先污染`Object.prototype`才能被利用。

❓ 攻击者能利用此漏洞窃取哪些凭证?

攻击者可以窃取请求配置中`auth`对象下的`username`和`password`,以及请求的URL和所有HTTP头信息。

❓ 此漏洞与GHSA-fvcv-3m26-pcqx有何不同?

后者是Axios v1.15.0修复的header注入漏洞,可绕过云元数据端点。本漏洞影响所有版本,且v1.15.0的修复未覆盖此代码路径。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)