CVE-2026-33186gRPC-Go 在 1.79.3 之前的版本中存在授权绕过漏洞。由于对 HTTP/2 `:path` 伪头部的输入验证不当,服务器过于宽松地接受缺少前导斜杠的请求路径。这导致授权拦截器无法正确匹配基于规范路径定义的“拒绝”规则,从而允许攻击者绕过安全策略访问受保护资源。
该漏洞源于 gRPC-Go 服务器的路由逻辑对 HTTP/2 `:path` 伪头部验证过于宽松。正常情况下,gRPC 路径应以 `/` 开头(如 `/Service/Method`)。然而,服务器接受形如 `Service/Method` 的路径。虽然请求能被正确路由至处理程序,但授权拦截器(如官方 `grpc/authz`)评估的是原始路径字符串。如果安全策略包含针对规范路径的特定“拒绝”规则,但默认允许其他请求,攻击者可以通过发送缺少前导斜杠的畸形 HTTP/2 帧,使得“拒绝”规则失效,从而绕过授权检查。漏洞利用需要攻击者能够直接向服务器发送原始 HTTP/2 帧。修复版本 1.79.3 通过直接拒绝非规范路径请求解决了此问题。