不安全的默认头部匹配器
作者: scudette创建于 2026年8月25日更新于 2026年9月1日
标签bughelp wanted
□ 错误报告
最近,由于grpc网关的默认信头匹配器,我们的项目https://docs.velociraptor.app/announcments/advisories/cve-2026-18972/
默认信头匹配器将所有 HTTP 信头复制到 grpc 元数据中而不过滤,允许任意的元数据项目意外添加. 如果 grpc 网关的用户没有设置有运行时间的特定标题匹配器 。 有了 Incoming HeaderMatcher () 选项, 就可以用 http header 注入的出乎意料的值污染元数据 。
我认为更好的安全设计是无线头匹配器,它需要刻意接受一些头被传送到元数据上. (即选择加入而不是选择退出). 如果用户试图捕捉特定的头,那么他们应该声明这些被注入到grpc元数据的特定的头.
□ 重现
默认运行时间 。 NewServeMux () 安装一个默认头匹配器, 将所有头复制到 grpc 元数据 。
□ 预期行为
如果新用户不仔细审查所有文件,他们就会期望grpc元数据是干净的,可以免费获取虚假值。
□ 实际行为
在默认配置中,grpc元数据项目可以通过外部的HTTP头来注入.
□你的环境
他们都支持Go版本和操作系统.
内容来源: grpc-ecosystem/grpc-gateway