HTTP / 2协议的多个实现容易受到攻击,这些攻击可能消耗足够的资源以在未修补的服务器上导致拒绝服务(DoS)条件。
根据 W3Techs 目前的统计数据,利用支持HTTP / 2通信的服务器中的漏洞可以触发这种行为,这是目前互联网上所有网站的40.0%。
同一主题的变体
今天,已经披露了一组可能导致DoS状况的八个漏洞。一些供应商已经修补了他们的系统以纠正错误。
它们可以被远程客户端利用。其中一些比其他一些严重得多,因为它们可以从单个终端系统用于影响多个服务器。但是,效率较低的可以在DDoS攻击中利用。
其中七个漏洞是由Netflix的Jonathan Looney和Google的Piotr Sikora发现的。本文末尾提供了完整列表以及每个列表的说明。
在 今天的一份咨询报告中,Netflix表示所有攻击媒介都是同一主题的变体,客户端会从易受攻击的服务器触发响应,然后拒绝阅读它。
根据服务器管理队列的方式,客户端可以强制它使用过多的内存和CPU来处理传入的请求。
DoS攻击可能导致服务器无响应并拒绝访问者访问网页。在不太严重的情况下,页面加载可能需要更长时间。
一个漏洞说明从CERT协调中心显示,可以通过这些拒绝服务漏洞的影响供应商的令人印象深刻的矩阵。
该列表包括亚马逊,阿帕奇,苹果,Facebook,微软,nginx,Node.js和Ubuntu等大牌。
供应商发布补丁
其中一些人已经纠正了这些问题。Cloudflare 宣布修复 了影响其负责HTTP / 2通信的Nginx服务器的七个漏洞。
威胁演员已经开始利用这些漏洞,因为该公司告诉BleepingComputer它扼杀了一些尝试。
“这里有6个不同的潜在漏洞,我们正在对所有这些漏洞进行监控。我们已经检测到并减轻了一些攻击,但尚无广泛的攻击。” - CloudFlare
由于Cloudflare与其他供应商一起收到Netflix关于DoS安全风险的预先通知,因此更正发生在协调披露之前。
微软还发布补丁五(1,2,3,4,5)的拒绝服务缺陷,影响其HTTP / 2协议栈(HTTP.sys中)的。
今天更新到版本1.17.3 的Nginx更新日志通知修补了三个DoS漏洞。
Apple还修补了SwiftNIO应用程序框架,以防止可能影响Sierra 10.12以后的macOS版本的五个漏洞。
CVE-2019-9511 数据驱动: - 攻击者通过多个流从指定资源请求大量数据。它们操纵窗口大小和流优先级以强制服务器以1字节块的形式对数据进行排队。根据此数据排队的效率,这可能会消耗过多的CPU,内存或两者,从而可能导致拒绝服务。
CVE-2019-9512 Ping Flood: - 攻击者向HTTP / 2对等体发送连续ping,使对等体建立内部响应队列。根据此数据排队的效率,这可能会消耗过多的CPU,内存或两者,从而可能导致拒绝服务。
CVE-2019-9513 资源循环: - 攻击者创建多个请求流,并以一种导致优先级树大量流失的方式不断地改变流的优先级。这可能会消耗过多的CPU,可能导致拒绝服务。
CVE-2019-9514 重置洪水: - 攻击者打开多个流,并在每个流上发送无效请求,该请求应从对等方请求RST_STREAM帧流。根据对等体如何对RST_STREAM帧进行排队,这会消耗过多的内存,CPU或两者,从而可能导致拒绝服务。
CVE-2019-9515 设置洪水: - 攻击者向对等体发送SETTINGS帧流。由于RFC要求对等体回复每个SETTINGS帧有一个确认,因此空的SETTINGS帧在行为上与ping几乎相同。根据此数据排队的效率,这可能会消耗过多的CPU,内存或两者,从而可能导致拒绝服务。
CVE-2019-9516 0长度标头泄漏: - ttacker发送带有0长度标头名称和0长度标头值的标头流,可选择将霍夫曼编码为1字节或更大标头。某些实现为这些头分配内存并使分配保持活动直到会话终止。这可能会消耗过多的内存,可能导致拒绝服务。
CVE-2019-9517 内部数据缓冲: - 攻击者打开HTTP / 2窗口,以便对等体可以无限制地发送; 但是,它们会使TCP窗口关闭,因此对等体实际上无法在线路上写入(许多)字节。然后,攻击者发送大量响应对象的请求流。根据服务器对响应进行排队的方式,这可能会消耗过多的内存,CPU或两者,从而可能导致拒绝服务。
CVE-2019-9518 空帧洪水: - 攻击者发送一个空的有效载荷并没有流末尾标志的帧流。这些帧可以是DATA,HEADERS,CONTINUATION和/或PUSH_PROMISE。对等体花费时间处理每个帧与攻击带宽不成比例。这可能会消耗过多的CPU,可能导致拒绝服务。