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/