axios NO_PROXY绕过漏洞:0.0.0.0可穿透本地地址防护(CVE-2026-67315)

axios CVE-2026-67315漏洞深度分析:Node.js环境下NO_PROXY绕过,0.0.0.0未被识别为本地地址,导致SSRF防护失效。了解攻击原理、影响版本及缓解措施,保护应用免受代理路由绕过风险。

🔓 Medium 漏洞利用

axios 1.15.0至1.16.1版本存在NO_PROXY绕过漏洞。当Node.js应用配置HTTP代理并使用NO_PROXY=localhost等防护时,攻击者可通过构造http://0.0.0.0的请求URL,使axios未将其识别为本地回环地址,从而绕过代理绕过机制,将请求经代理路由至本机服务,可能访问云元数据或内部接口。

来源:OSV | 2026-07-20 | 原文链接

🔍 关键发现

  • isLoopback()函数正确识别localhost、127.0.0.0/8和::1,但完全遗漏0.0.0.0,导致NO_PROXY匹配失败。
  • Node.js WHATWG URL解析器不会将0.0.0.0归一化为127.0.0.1,而八进制、十进制等变体均会被安全解析为回环地址。
  • 该漏洞仅影响Node.js HTTP适配器的环境代理选择流程,浏览器、React Native、fetch等适配器不受影响。

⚔️ 攻击链分析

攻击者控制传给axios的请求URL或重定向目标为http://0.0.0.0:端口/;axios调用shouldBypassProxy判定0.0.0.0非本地地址,未匹配NO_PROXY;请求被发送到配置的HTTP代理;代理若未过滤0.0.0.0,则流量被中继到本机服务,信息泄露。

🚩 失陷指标 (IOC)

  • 代理日志或服务器访问日志中出现URL主机名为0.0.0.0的HTTP请求
  • 外部代理连接的请求目标为0.0.0.0:{端口},且Host头为0.0.0.0
  • axios响应内容与本地服务返回数据一致且经由代理转发

🛡️ 缓解建议

  • ✅ 在NO_PROXY环境变量中显式添加0.0.0.0以覆盖本地地址。
  • ✅ 在应用层对用户输入的URL进行合法性校验,拒绝或规范化0.0.0.0地址。
  • ✅ 对不期望使用环境代理的请求显式设置proxy: false。
  • ✅ 配置代理服务器,拒绝针对0.0.0.0、回环地址、链路本地地址及内网地址段的转发请求。

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


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

🤖 常见问题解答(FAQ)

❓ 为什么0.0.0.0能绕过NO_PROXY检查?

axios的isLoopback()函数未将0.0.0.0视为回环地址,且Node.js URL解析器不将其归一化,导致NO_PROXY条目如localhost/127.0.0.1无法匹配0.0.0.0。

❓ 哪些axios版本受影响?

影响axios >=1.15.0且<=1.16.1的版本。漏洞在v1.15.0引入shouldBypassProxy辅助函数时产生,并已在1.16.2修复。

❓ 如何检测此类攻击?

监控代理日志中目标为0.0.0.0的HTTP请求;检查应用发出的请求URL主机是否包含0.0.0.0;结合审计axios版本与NO_PROXY配置对抗SSRF防护。

[!] CONTACT_CHANNELS

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

> PING_AUTHOR (@A1RedTeam)