Go 库 net/http 中的严重漏洞:威胁数百万台服务器

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Go (Golang) 标准库中发现严重漏洞:威胁数百万台服务器



Go (Golang) 开发者社区因标准库 net/http 中发现严重漏洞而震动。该漏洞编号为 CVE-2023-XXXX(示例编号),影响 HTTP 请求的处理,可能导致严重后果——从绕过安全策略到完全入侵服务器。



该问题属于 HTTP 请求走私 攻击类别。它源于 Go HTTP 请求解析器对 Transfer-Encoding 和 Content-Length 头部的错误处理。攻击者可以发送一个特制的请求,该请求被 Go 服务器解析的方式与位于其前的代理服务器或负载均衡器不同。



危险在哪里?

利用此漏洞,攻击者可以:

  • 绕过授权和身份验证——注入恶意请求,服务器将其视为来自其他用户的合法操作。
  • 拦截会话数据——“毒化”代理服务器缓存并访问受保护资源。
  • 发起 XSS 攻击——在服务器响应中注入脚本,这些脚本将在受害者的浏览器中执行。
  • 实现拒绝服务 (DoS)——发送导致应用程序挂起或崩溃的请求。


该漏洞尤其危险,因为 net/http 是 标准库,被绝大多数 Go 项目使用,从简单的 API 到大型微服务架构。据专家估计,全球数百万台服务器面临威胁。



谁面临风险?

该漏洞影响 1.20.6 和 1.21.0 之前的所有 Go 版本。处于风险中的包括:

  • 使用 Go 编写且未使用反向代理的 Web 服务器和 API。
  • 使用 net/http 内置功能处理请求的应用程序。
  • 在负载均衡器或 WAF 后面运行的服务器,这些设备可能以不同方式解析头部。


如何保护?

Go 语言开发者已迅速发布补丁。为保护您的项目,请立即采取以下步骤:

  1. 更新 Go 到版本 1.20.6 或 1.21.0(取决于您的主版本分支)。
  2. 使用新版本编译器重新构建所有二进制文件。
  3. 检查依赖项——如果您使用第三方库或 net/http 的封装,请确保它们也已更新且兼容。
  4. 部署 WAF(Web 应用防火墙)作为额外的安全层,能够过滤可疑请求。


PythonLib 团队强烈建议所有 Go 开发者不要推迟更新。该漏洞是严重

推荐库