新发现的HTTP/2漏洞使服务器面临DoS攻击风险 单个TCP连接即可实现

摘要:

HTTP/2 于 2015 年推出,为 HTTP 协议带来了多项增强功能,包括高效的数据传输、请求处理、响应速度,以及对基于网站的信息交易进行标头压缩。但除了这些效率之外,HTTP/2 也给管理员和安全团队带来了一系列独特的挑战。本周早些时候,研究人员公布了一个新发现的与 HTTP/2 相关的漏洞,该漏洞可用于对易受攻击的目标实施拒绝服务(DoS)攻击。

https.webp

thehackernews的报道中,安全研究员Bartek Nowotarski 于 1 月 25 日向卡内基梅隆大学计算机应急小组(CERT)协调中心报告了这一问题。

该漏洞被称为"HTTP/2 CONTINUATION Flood",它利用了配置不当的HTTP/2 实现,这些实现未能限制或净化请求数据流中的 CONTINUATION 帧。

CONTINUATION 帧是一种用于延续报头块片段序列的方法,允许报头块在多个帧中分割。当服务器收到一个特定的 END_HEADERS 标志,表明没有其他 CONTINUATION 或其他帧时,先前分割的报头块就被视为已完成。

chart.webp

如果 HTTP/2 实现不限制单个数据流中可发送的 CONTINUATION 帧的数量,就很容易受到攻击。如果攻击者开始向未设置 END_HEADERS 标志的易受攻击服务器发送 HTTP 请求,该请求将允许攻击者向该服务器持续发送 CONTINUATION 帧流,最终导致服务器内存不足而崩溃,并导致成功的拒绝服务 (DoS) 攻击。

CERT 还列举了该漏洞的另一个变种,即使用 HPACK Huffman 编码的 CONTINUATION 帧造成 CPU 资源耗尽,同样导致 DoS 攻击成功。

Nowotarski 指出,这意味着单台机器甚至单TCP连接都有可能破坏服务器的可用性,造成从服务崩溃到性能下降等各种后果。

分布式拒绝服务(DDoS)攻击会创建大规模僵尸网络,通过纯粹的流量来压垮网络,而 DoS 攻击则不同,它可以通过向传输控制协议(TCP)连接发送大量请求来耗尽目标服务器的资源,从而利用单个设备制造虚假网络流量。

2024-04-06-image-2-p_1100.webp

与该新漏洞有关的几个常见漏洞和暴露 (CVE) 记录已经创建。这些记录包括:

  • CVE-2024-2653 - amphp/http

  • CVE-2024-27316 - Apache HTTP Server: HTTP/2 DoS by memory exhaustion on endless continuation frames

  • CVE-2024-24549 - Apache Tomcat: HTTP/2 header handling DoS

  • CVE-2024-31309 - Resource exhaustion in Apache Traffic Server

  • CVE-2024-27919 - HTTP/2: memory exhaustion due to CONTINUATION frame flood

  • CVE-2024-30255) - HTTP/2: CPU exhaustion due to CONTINUATION frame flood

  • CVE-2023-45288 - HTTP/2 CONTINUATION flood in net/http

  • CVE-2024-28182 - Reading unbounded number of HTTP/2 CONTINUATION frames to cause excessive CPU usage

  • CVE-2024-27983 - node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash

  • CVE-2024-2758 - Tempesta FW rate limits are not enabled by default

建议用户将受影响的软件升级到最新版本,以减轻潜在威胁。在没有修复程序的情况下,建议考虑暂时禁用服务器上的 HTTP/2。

根据 w3techs.com 的一项调查,目前约有 35.5% 的网站使用 HTTP/2。

查看评论
created by ceallan