首页 网络安全 正文
  • 本文约1053字,阅读需5分钟
  • 8
  • 0

axios4go竞争条件漏洞CVE-2026-21697

摘要

栋科技漏洞库关注到 axios4go 中存在的关于共享HTTP客户端配置的竞态条件漏洞,追踪为CVE-2026-21697,漏洞的CVSS 4.0评分8.2。

axios4go 是专为 Go 语言打造的、对标前端axios风格的 HTTP 客户端库,让 Go 开发者能用更简洁、更符合直觉的方式处理 HTTP 请求。

一、基本情况

axios4go是 Go 语言HTTP客户端库,并非替代 Go 原生net/http,而是对其进行优雅封装,解决原生net/http使用繁琐、配置分散的问题。

axios4go竞争条件漏洞CVE-2026-21697

axios4go 把前端axios的易用性(比如链式调用、拦截器、统一配置)移植到了 Go 语言中,同时保留 Go 语言的类型安全和高性能特性。

栋科技漏洞库关注到 axios4go 中存在的关于共享HTTP客户端配置的竞态条件漏洞,追踪为CVE-2026-21697,漏洞的CVSS 4.0评分8.2。

二、漏洞分析

CVE-2026-21697漏洞是在版本 0.6.4 之前 axios4go 中存在的一个关于共享 HTTP 客户端配置的竞态条件漏洞,可能导致代理配置泄露。

该漏洞源于全局defaultClient在请求执行过程中被修改,但没有同步直接修改共享http.Client的Transport、Timeout和CheckRedirect属性。

受影响的应用程序包括使用 axios4go 进行并发请求的应用程序(多个协程、GetAsync、PostAsync等),

不同请求使用不同代理配置的应用程序,以及处理敏感数据(认证凭据、令牌、API 密钥)的应用程序。

受影响者:

任何使用axios4go并发请求(多个goroutineGetAsyncPostAsync等)的应用程序

不同请求使用不同代理配置的应用程序

处理敏感数据(身份验证凭据、令牌、API密钥)的应用程序

攻击场景:

攻击者使用配置好的恶意代理发起并发请求

由于竞争条件,受害者的并发请求(预期直接连接)被路由到攻击者的代理服务器

攻击者拦截凭证、令牌以及敏感的请求/响应数据

严重性:高 - 在并发环境中,该漏洞可能引发凭证盗窃和中间人攻击。

变通方法:

如果不能立即进行升级:

1、避免同时使用具有不同配置的全局函数(如GetPostGetAsync等)

2、为每个协程创建单独的Client实例:

client := axios4go.NewClient("https://api.example.com")
// Use client.Request() instead of axios4go.Get()

 

3、在应用程序中的所有axios4go调用周围添加外部同步(互斥锁)

4、在并发场景中避免使用代理选项

三、影响范围

axios4go <= 0.6.3

四、修复建

axios4go >= 0.6.4

五、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接