Pingora 项目存在漏洞,攻击者可以利用这些漏洞拦截第三方请求。

Cloudflare宣布修复其Pingora框架中的三个漏洞,其中两个漏洞被评为严重级别(9.3/10)。Pingora是一个用Rust编写的框架,旨在开发安全、高性能的网络服务。Cloudflare的内容分发网络(CDN)中使用了基于Pingora构建的代理,每秒处理超过40万个请求。这些漏洞已在Pingora 0.8.0版本中修复。

这两个最危险的漏洞允许HTTP请求走私攻击,使用户能够绕过访问控制系统,并将恶意JavaScript代码注入到其他用户在同一前端和后端流程中处理的请求内容中(例如,将恶意JavaScript代码插入到其他用户与网站的会话中)。这些问题是由漏洞赏金计划的参与者发现的,该计划为发现漏洞提供奖励。

在基于反向代理的后端中,客户端请求由一个额外的节点接收,该节点与后端建立长时间运行的 TCP 连接,后端负责实际的请求处理。这个共享连接通常会传输来自不同用户的请求,每个用户依次通过 HTTP 协议进行请求链式传输。HTTP 请求走私攻击源于前端和后端对 HTTP 头部和 HTTP 协议规范的不同解读,例如,前端使用“Content-Length”HTTP 头部来确定请求大小,而后端则使用“Transfer-Encoding: chunked”。

第一个漏洞 CVE-2026-2835 存在于 HTTP/1.0 请求解析代码中,其原因是 Pingora 对包含多个值的“Transfer-Encoding”标头处理不当,以及将连接关闭作为请求结束符(以关闭分隔符分隔)所致。Pingora 仅检查“Transfer-Encoding: chunked”选项,如果该标头包含多个值,则会忽略它。在这种情况下,Pingora 会忽略“Content-Length”标头中的大小信息,并将连接关闭之前接收到的所有数据视为请求体。

通过在“Transfer-Encoding”标头中指定多个值,攻击者可以创建这样的条件:请求被转发到后端,但其实际大小与基于“Transfer-Encoding”标头计算出的分块链大小不匹配。Pingora 将所有接收到的数据作为单个请求转发,后端(例如 Node.js)根据“Transfer-Encoding: chunked”计算请求,并将剩余的尾部作为另一个请求的开头进行处理。GET / HTTP/1.0 Host: example.com Connection: keep-alive Transfer-Encoding: identity, chunked Content-Length: 29 0 GET /admin HTTP/1.1 X:


Pingora 项目存在漏洞,攻击者可以利用这些漏洞拦截第三方请求。

第二个漏洞 CVE-2026-2833 是由对 HTTP/1.1 请求中“Upgrade”HTTP 标头处理不当引起的。当请求中存在“Upgrade”标头时,代理会立即将“Upgrade”标头之后的剩余请求数据转发到后端,而不会等待后端返回 101(切换协议)状态码。这破坏了代理和后端之间的数据流同步,导致后端将“Upgrade”标头之后发送的数据视为单独的请求,并将该请求的结果作为对后续用户请求的响应发送。例如:GET / HTTP/1.1 Host: example.com Upgrade: foo GET /admin HTTP/1.1 Host: example.com


Pingora 项目存在漏洞,攻击者可以利用这些漏洞拦截第三方请求。

Pingora 项目存在漏洞,攻击者可以利用这些漏洞拦截第三方请求。

当 Pingora 被用作入口代理,使用 HTTP/1.0 或 HTTP/1.1 协议将用户请求转发到后端时,就会出现问题。Cloudflare 内容分发网络 (CDN) 中使用的 Pingora 配置避免了这些漏洞的利用,因为 Pingora 在 CDN 中不用作入口代理,仅使用 HTTP/1.1 协议转发请求,阻止 Content-Length 值不正确的请求,仅转发一个“Transfer-Encoding: chunked”标头值,并在带有“Upgrade:”标头的请求中插入额外的“Connection: close”标头,从而防止在同一连接上传输其他请求。

第三个漏洞 CVE-2026-2836(严重性 8.4 分,满分 10 分)会导致缓存中毒,原因是缓存键 (CacheKey) 的生成仅基于 URI 路径,而忽略了“Host”标头的内容。此漏洞会导致指向不同主机的相同 HTTP 路径生成相同的缓存键。在使用多主机缓存时,此漏洞可被利用来伪造缓存内容。缓存是 Pingora 的一项实验性功能,不建议在生产环境中使用。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster