axios原型污染读取端Gadget:CVE-2026-67316可劫持请求
axios原型污染gadget CVE-2026-67316,攻击者可利用Object.prototype污染注入请求体、篡改代理配置。本文分析漏洞原理、影响范围,并给出缓解建议。适用于Node.js环境的安全加固。
🔓 Medium 漏洞利用
攻击者先利用其他漏洞污染Object.prototype,再通过axios的无请求体方法别名(如get/delete/head/options)触发读取继承的data属性,从而在请求中注入攻击者控制的请求体。此外,低层适配器调用还可能受到继承的proxy或paramsSerializer影响,导致请求被重定向或URL序列化被篡改。
来源:OSV | 2026-07-20 | 原文链接
🔍 关键发现
- CVE-2026-67316是axios中的原型污染读取端gadget集合,绕过现有hasOwnProp保护,在Object.prototype被污染后可劫持请求。
- axios.get/delete/head/options在配置归一化前会读取继承的data属性,导致无请求体的方法也会发送攻击者控制的数据。
- 低层调用http适配器或resolveConfig时,继承的proxy或paramsSerializer可被利用,造成流量代理到攻击者服务器或URL序列化被控制。
⚔️ 攻击链分析
攻击者先利用其他原型污染漏洞(如lodash、qs、minimist等)污染Object.prototype。随后诱导受害者发起常规axios请求(如axios.get),或直接调用低层适配器。axios在读取config时继承了被污染的原型属性,将恶意data作为请求体发送,或将proxy指向攻击者控制的代理。最终导致请求内容篡改、敏感信息泄露或流量被中间人攻击。
🚩 失陷指标 (IOC)
yourcollab.oastify.comapi.example.com
🛡️ 缓解建议
- ✅ 避免使用可能污染Object.prototype的库或处理不可信输入,确保原型链安全。
- ✅ 在修复版本发布前,对axios.get/delete/head/options显式传递data: undefined,阻断继承属性的注入。
- ✅ 审查依赖关系,及时升级到包含修复的axios版本。
涉及漏洞:["CVE-2026-67316"]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。
🤖 常见问题解答(FAQ)
❓ 哪些axios版本受影响?
目前确认axios 1.15.2和1.16.1均受影响,低层适配器路径在任何版本中若直接传入普通配置都可能被利用。
❓ 攻击者如何污染原型链?
通常通过存在原型污染漏洞的依赖(如lodash、qs、minimist)处理不可信JSON数据,或通过其他CVE触发Object.prototype属性注入。
❓ 如何检测是否被利用?
监控请求中是否存在意外的Content-Length或请求体(尤其是GET/DELETE/HEAD/OPTIONS),以及出站流量是否连接未知代理IP或域名。