HTTP/2 Server 多个拒绝服务误差清静通告

宣布时间 2019-08-14

? 误差编号和级别


CVE编号:CVE-2019-9511,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9512,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9513,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9514,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9515,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9516,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9517,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2019-9518,危险级别:高危,CVSS分值:官方未评定


影响版本


受影响的版本


适用于HTTP/2协议


误差概述


HTTP/2(Hypertext Transfer Protocol Version 2)无疑是下一代互联网加速手艺的基石与偏向,自降生以来履历了00~17 共 18 版草案,现在,已经拥有了明确的RFC标准:RFC 7540和RFC 7541。 现在支持 HTTP/2 的浏览器有 Chrome 41+、Firefox 36+、Safari 9+、Windows 10 上的 IE 11 和 Edge。服务器方面则有 F5、H2O、nghttp2 等数十种选择,种种语言实现的都有。


HTTP/2实现历程中容易受到种种拒绝服务(DoS)攻击,详细如下:


CVE-2019-9511

攻击者通过多个流从指定资源请求大宗数据。它们使用窗口巨细和流优先级以强制服务器以1字节块的形式对数据举行排队。凭证此数据排队的效率,这可能会消耗过多的CPU,内存或两者,从而可能导致拒绝服务。


CVE-2019-9512

攻击者向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长度头名称和0长度头部值的头部流,可选地将霍夫曼编码为1字节或更大的头部。某些实现为这些头分派内存并使分派坚持运动直到会话终止。这可能会消耗过多的内存,可能导致拒绝服务。


CVE-2019-9517

攻击者翻开HTTP/2窗口,以便对等体可以无限制地发送。可是,它们会使TCP窗口关闭,因此对等体现实上无法在线路上写入(许多)字节。然后,攻击者发送大宗响应工具的请求流,凭证服务器对响应举行排队的方法,这可能会消耗过多的内存,CPU或两者,从而可能导致拒绝服务。


CVE-2019-9518

攻击者发送一个具有空载荷且没有流末尾标记的帧流。这些帧可以是DATA,HEADERS,CONTINUATION和/或PUSH_PROMISE。对等体破费时间处置惩罚每个帧与攻击带宽不可比例。这可能会消耗过多的CPU,可能导致拒绝服务。


误差验证


暂无POC/EXP。


修复建议


Microsoft:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-9513
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-9512
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-9511

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-9518;


Nginx:

http://nginx.org/en/CHANGES


Apple:

https://support.apple.com/en-us/HT210436


参考链接


https://kb.cert.org/vuls/id/605641/