文章总结: Cloudflare开源代理框架Pingora被披露存在严重请求走私漏洞CVE-2026-2835,CVSS评分9.3分。漏洞源于HTTP/1.0请求体错误初始化及Transfer-Encoding头部处理缺陷,导致可绕过安全控制。影响版本为0.7.0及以下。官方已发布v0.8.0修复。建议用户立即升级至v0.8.0以上版本,或通过拒绝非HTTP/1.1请求及特定头部组合作为临时缓解措施。 综合评分: 95 文章分类: 漏洞分析,漏洞预警
Cloudflare 开源代理框架 Pingora 曝严重请求走私漏洞(CVE-2026-2835)
原创
CVE-SEC CVE-SEC
CVE-SEC
2026年3月6日 14:48 四川
Cloudflare 开源代理框架 Pingora 曝严重请求走私漏洞(CVE-2026-2835)
近日,Cloudflare 旗下开源代理框架 Pingora 被披露存在一个严重级别的 HTTP 请求走私漏洞,CVE 编号 CVE-2026-2835,CVSS v4.0 评分 9.3 分。漏洞于 2026 年 3 月 5 日正式公开,官方修复版本 v0.8.0 已于 3 月 2 日提前发布。
Pingora 是什么
Pingora 是 Cloudflare 使用 Rust 语言开发的网络代理框架,其内部长期将其用于生产环境,每秒处理超过 4000 万次请求。2024 年 Cloudflare 将 Pingora 开源,此后迅速积累了大量下游依赖项目,被广泛用于构建反向代理、API 网关、CDN 服务等场景。
漏洞核心
HTTP 请求走私攻击的本质,是利用代理层与后端服务器对同一 HTTP 消息边界的解析差异,使攻击者能够将恶意请求”藏入”合法请求的消息体,绕过代理层的安全控制,让后端服务器将其作为独立请求处理。
此次漏洞根源在于 Pingora 0.7.0 及以下版本的 HTTP 消息长度解析逻辑存在两处与 RFC 9112 规范不符的缺陷。
缺陷一:HTTP/1.0 请求体错误采用 close-delimited 模式
RFC 9112 第 6.3 节明确规定,HTTP 请求消息若既无 Transfer-Encoding 也无 Content-Length 头部,则消息体长度为零,请求消息永远不应采用 close-delimited(连接关闭界定)模式。但 Pingora 旧版本在处理 HTTP/1.0 请求时,错误地将其消息体初始化为 close-delimited 模式,持续读取连接上的后续字节并视为消息体。攻击者可在同一连接上将精心构造的 HTTP 请求附加在 HTTP/1.0 请求之后,使后端服务器将其解析为独立的新请求,从而绕过代理层的访问控制策略。
缺陷二:多个 Transfer-Encoding 头部处理存在歧义
RFC 9112 第 6.1 节要求,若请求中存在 Transfer-Encoding 头部,其最终编码必须为 chunked,否则消息长度无法确定,接收方应关闭连接并报告错误。Pingora 旧版本对多个 Transfer-Encoding 头部字段的检查逻辑不完整,仅检查单一头部值,未覆盖同一请求携带多个 Transfer-Encoding 字段的场景,导致代理层与后端服务器对消息边界的判断产生歧义,为请求走私提供了利用窗口。
攻击效果
成功利用该漏洞的攻击者可实现:
- 绕过 Pingora 代理层部署的 WAF 规则及 ACL 访问控制策略,访问受保护的内部路径
- 污染后端缓存,向后续所有合法用户投递攻击者控制的响应内容
- 在共享代理环境中劫持其他用户的请求,捕获认证凭据
整个攻击过程无需身份认证,无需用户交互,攻击复杂度为低,可远程利用。
修复情况
Cloudflare 在 v0.8.0 中通过三个互相配合的提交完整修复了该漏洞:
- 提交 40c3c1e:修正 HTTP/1.0 请求体初始化逻辑,禁止请求消息使用 close-delimited 模式,符合 RFC 9112 规则 7
- 提交 7f7166d:重构 Transfer-Encoding 解析函数,完整支持多头部字段检测,明确 Transfer-Encoding 优先于 Content-Length 的处理优先级
- 提交 87e2e2f:在服务端入口处新增请求校验,直接拒绝最终编码非 chunked 的 Transfer-Encoding 请求及 HTTP/1.0 请求中携带 Transfer-Encoding 的场景
同日披露的 CVE-2026-2833(GHSA-xq2h-p299-vjwv,同为 Critical,CVSS 9.3)同样在 v0.8.0 中修复,该漏洞源于 Pingora 在收到含 Upgrade 头部的请求后无需等待后端 101 响应即立即转发后续字节,构成另一请求走私向量。
值得注意的是,Cloudflare 自身 CDN 基础设施由于在入口代理层部署了更严格的请求校验规则,不受上述漏洞影响。
影响范围
所有在项目中使用 pingora-core crate 版本 0.7.0 及以下的部署均受影响。由于 Pingora 作为底层库被集成于各类自建代理服务中,通常不对外暴露可识别的版本标识,建议通过检查 Cargo.lock 文件中的依赖版本来确认是否受影响。
处置建议
将项目依赖中的 pingora-core 及相关 crate 升级至 v0.8.0 或更高版本。若暂时无法升级,可在请求过滤层实施以下临时缓解措施:拒绝非 HTTP/1.1 版本的请求、拒绝携带多个 Transfer-Encoding 头部的请求、拒绝 Transfer-Encoding 最终值非 chunked 的请求、拒绝同时携带 Transfer-Encoding 和 Content-Length 的请求。临时措施不能替代版本升级,应尽快完成。
参考链接
官方 Advisory:https://github.com/cloudflare/pingora/security/advisories/GHSA-hj7x-879w-vrp7
Pingora 项目主页:https://github.com/cloudflare/pingora
RFC 9112 HTTP/1.1 规范:https://datatracker.ietf.org/doc/html/rfc9112
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:CVE-SEC CVE-SEC CVE-SEC《Cloudflare 开源代理框架 Pingora 曝严重请求走私漏洞(CVE-2026-2835)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论