ONCALL://19
INC-10 · Go 网络沙箱

Go net/http 与 HTTP/2 代理路径漏洞

Go 在 2026-10-08 发布 1.26.9 和 1.27.2,修复 net/http、HTTP/2 和代理路径的多项漏洞。之后的 1.26.10 和 1.27.3 又修复了 crypto/x509 对 eMudhra 坏链的信任。

INC-10高危看配置软件漏洞P2本周披露 2026-10-08
段子原句“Go 作为对外访问的网络沙箱”
编号
CVE-2026-56866CVE-2026-78660CVE-2026-78667CVE-2026-78669
严重度
CVE-2026-78667 CVSS 3.1 7.5;其余 3 项未评分
利用状态
未见利用未见利用:Go 官方未声称在野利用,状态为未验证。
对段子公司
漏洞是拒绝服务、响应走私和 CONNECT 连接串线,不是 SSRF 绕过。只有用到受影响的客户端和代理代码时才相关。
影响范围
官方未公布受影响用户或实例数。CONNECT 串线和响应走私对出站代理影响最大。
修复版本
  • →Go 1.26.9 / 1.27.2(net/http)
  • →golang.org/x/net v0.60.0
  • →Go 1.26.10 / 1.27.3(crypto/x509)
处置清单见处置顺序 · P2

结论

2026 年 10 月 8 日,Go 发布修复,涉及 net/http、HTTP/2 和代理路径的多项漏洞。[1] [2]其中包括拒绝服务、响应走私和 CONNECT 连接串线,并非 SSRF 绕过。[1] [3]段子所说的 Go 出站沙箱可能受影响,但须看是否使用受影响客户端和代理代码。[2] [4]没有发现官方确认的在野利用数据、受害数量或下载量。

事件经过

Go 团队于 2026 年 10 月 8 日发布 Go 1.27.2 和 Go 1.26.9。公告称此版本共修复 15 项安全问题。[1]其中多项落在 net/http,涵盖 HTTP/1、HTTP/2 和反向代理行为。[1]公开记录没有指出 net/url、net/netip、DNS 解析或 SSRF 校验绕过。[1] [2]

本次与假想出站沙箱最相关的风险是 HTTP/2 资源消耗,以及 HTTP/1 CONNECT 代理连接异常。[1] [3]反向代理响应走私也相关,但需要代理跨协议转发和下游解析差异。[1] [4]Range 漏洞则影响处理文件内容的服务器,不是一般出站代理漏洞。[2] [5]

技术细节

CVE根因与机制受影响版本修复版本
CVE-2026-78667小型多 Range 头可使文件服务消耗过多 CPU低于 1.26.9;1.27.0-0 至 1.27.11.26.9、1.27.2
CVE-2026-78669HTTP/2 对端创建大量流并反复发初始窗口设置,触发高 CPU标准库低于 1.26.9;1.27.0-0 至 1.27.1;x/net/http2 低于 v0.60.01.26.9、1.27.2;x/net v0.60.0
CVE-2026-78660HTTP/2 传输未剔除异常分帧头,反向代理转给 HTTP/1 后可能响应走私标准库低于 1.26.9;x/net/http2 低于 v0.60.01.26.9、1.27.2;x/net v0.60.0
CVE-2026-56866带请求体的 HTTP/1 CONNECT 遭拒后,连接进入空闲池且流状态错位标准库低于 1.26.9;1.27.0-0 至 1.27.11.26.9、1.27.2

Range 漏洞只影响 ServeContent、ServeFile 和 ServeFileFS 等文件服务路径。[2]Go 将 Range 数量限制为 200,并增加 httpservecontentmaxranges 设置。[1] [2]

HTTP/2 窗口设置漏洞让攻击者反复修改 SETTINGS_INITIAL_WINDOW_SIZE。[1] [3]旧实现可能对大量活动流重复工作,修复后将相关处理改为常数级操作。[1]

响应走私漏洞出现在 HTTP/2 响应经反向代理送往 HTTP/1 客户端时。[1] [4]Go 修复后会删除收到的异常分帧头,避免将其继续转发。[1]

CONNECT 漏洞中,非空 Request.Body 会在请求头后直接写入连接。[1] [4]若服务器以非 2xx 长连接响应拒绝,后续字节可能被解释为另一条请求。[1]共享连接池可能因此把注入请求的响应交给下一名调用者。[1]修复令 HTTP/1 传输在发送 CONNECT 后关闭连接,并让 ReverseProxy 对 CONNECT 返回 405。[1]

影响范围

官方记录未提供受影响用户数、受攻击实例数、下载量或损失金额。[1] [2]公开证据支持的是条件性影响,不能据此推算企业或全球安装数量。

CVE-2026-78667 的 CVSS 3.1 为 7.5,高危,影响可用性。[5]Go 公告及其漏洞记录没有给出其他三项的 CVSS 分数。[1] [3] [4]因此本文不为它们推定评分。

Go 官方公告没有声称这些漏洞已遭在野利用。[1]本次查阅的官方漏洞条目也未确认公开利用或受害者。[2] [3] [4]在野利用状态应记为未验证,而非确认没有利用。

时间线

  1. 2026-09-29,时区未标注
    Go 项目登记 Range 漏洞私有跟踪问题。[2]
  2. 2026-09-30,时区未标注
    Go 项目启动 1.26 与 1.27 分支回补。[2]
  3. 2026-10-08,公告未标注时区
    Go 发布 1.27.2 和 1.26.9 安全版本。[1]
  4. 2026-10-08,公告未标注时区
    Go 官方漏洞数据库发布对应条目。[2][3][4]
  5. 2026-10-19,时区未标注
    Go 发布 1.27.3,修复 crypto/x509 问题,与本文网络沙箱范围无关。[6]

修复与缓解

  • 将 Go 工具链升级到 1.26.9 或 1.27.2 及以上维护版本。[1] [2]
  • 若独立使用 golang.org/x/net/http2,升级到 v0.60.0 或更新版本。[3] [4]
  • 检查服务端是否调用 ServeContent、ServeFile 或 ServeFileFS。[2]
  • 在升级前可设置 GODEBUG=httpservecontentmaxranges=200,并避免设为 0。[1]
  • 检查出站代理是否转发 CONNECT,及是否将 HTTP/2 上游接到宽松的 HTTP/1 下游。[1]
  • 暂时禁用不需要的 CONNECT 转发,并对代理连接设置隔离和严格协议校验。
  • 为公开 HTTP/2 服务设置连接、请求速率和资源限制,监测异常 SETTINGS 帧。[1] [3]

对段子中公司的影响

段子写明 Go 用于对外访问的网络沙箱,因此出站请求链路可能调用受影响的 net/http 客户端。[1] [4]若它通过 HTTP/2 与恶意或被攻陷的上游通信,CVE-2026-78669 可导致沙箱客户端消耗过多 CPU。[3]若它处理 HTTP/1 CONNECT 请求并共享连接池,CVE-2026-56866 可能造成连接串线或响应污染。[4]

若沙箱把 HTTP/2 响应代理给 HTTP/1 下游,CVE-2026-78660 才直接匹配该架构。[4]若 Go 沙箱没有文件服务接口,CVE-2026-78667 通常不直接适用。[2]这些问题没有证实能绕过 IP、DNS 或 SSRF 目的地址策略。[1] [2]因此“Go 出站沙箱被 SSRF 绕过”属于段子化概括,不是已验证的官方事故描述。

存疑与未验证

  • 具体公司的 Go 版本、依赖构建方式和代理实现均未知。
  • CVE-2026-78667 官方记录说明已修复版本,但没有在所查页面列出 CVSS;Red Hat 页面给出 7.5。[2] [5]
  • 其他 CVE 的 CVSS 分数、利用 PoC 和在野活动未由所查官方记录确认。
  • 未找到受影响用户数、实际攻击数、流量或经济损失统计。
  • 用户所给 2026 年 10 月 21 日推文全文未在本调研中独立核实。

参考资料

调研截止 2026-10-22 UTC+8 · 未验证的内容已在正文中标注 · 数字以原始来源为准

本页目录