UCloud-202404-001:HTTP/2 CONTINUATION Flood拒绝服务漏洞安全警告

漏洞详情

HTTP/2是一种安全高效的下一代http传输协议,旨在通过引入用于高效数据传输的二进制帧、允许通过单个连接进行多个请求和响应的多路复用以及用于减少开销的标头压缩来提高Web性能,HTTP/2 CONTINUATION帧用于连续字段块片段的序列。近日监测到HTTP/2协议被披露存在拒绝服务漏洞,该漏洞被称为"HTTP/2 CONTINUATION Flood",可导致拒绝服务(DoS)攻击,在某些实现中可通过单个TCP连接使web服务器崩溃,目前该漏洞的技术细节已公开披露。由于某些HTTP/2协议实现中没有适当限制或清理单个数据流中发送的CONTINUATION 帧的数量,攻击者可通过不设置END_HEADERS标志位,向目标服务器发送CONTINUATION帧流,从而可能导致内存不足崩溃或CPU资源耗尽而导致服务器中断,造成拒绝服务。

影响范围和修复方案

HTTP/2 CONTINUATION Flood影响多个项目,不同的HTTP/2实现可能会有特定于该实现的独特漏洞及影响,不同HTTP/2实现相对应的部分CVE ID和影响范围如下:

受影响项目

CVE

影响范围

修复版本

Envoy

CVE-2024-27919

Envoy 1.29.0

Envoy 1.29.1

升级到版本1.29.2或更高版本;

降级到1.28.1及之前版本

Envoy

CVE-2024-30255

Envoy < 1.29.3

Envoy < 1.28.2

Envoy < 1.27.4

Envoy < 1.26.8

升级到1.29.3、1.28.2、1.27.4、1.26.8或更高版本

Tempesta FW

CVE-2024-2758

Tempesta FW < 0.7.1

升级到0.7.1或更高版本

amphp/http

CVE-2024-2653

amphp/http < 1.7.3

amphp/http 2.0.0 - 2.1.0

amphp/http -client 4.0.0-rc10 - 4.0.0

升级到amphp/http 1.7.3,

amphp/http 2.1.1,

amphp/http -client 4.1.0-rc1或更高版本

Golang

CVE-2023-45288

Go < 1.22.2

Go < 1.21.9

升级到Go 1.22.2、

Go 1.21.9或更高版本

nghttp2

CVE-2024-28182

nghttp2 < 1.61.0

升级到nghttp2 1.61.0或更高版本

Apache HTTP Server

CVE-2024-27316

Apache HTTP Server < 2.4.59

升级到Apache HTTP Server 2.4.59或更高版本

Apache Traffic Server

CVE-2024-31309

Apache Traffic Server [8.0.0, 8.1.9)

Apache Traffic Server [9.0.0,9.2.3)

升级到8.1.9、9.2.3或更高版本

Node.js

CVE-2024-27983

Node.js < 18.20.1

Node.js < 20.12.1

Node.js < 21.7.2

升级到Node.js 18.20.1 、20.12.1 、21.7.2 或更高版本

注意:安装升级前,请做好数据备份、快照和测试工作,防止发生意外

参考链接

https://www.openwall.com/lists/oss-security/2024/04/04/4

https://www.openwall.com/lists/oss-security/2024/04/05/3

https://www.openwall.com/lists/oss-security/2024/04/05/4

https://www.openwall.com/lists/oss-security/2024/04/04/8