深度保持探索全栈开发的无限可能
记录技术成长的每一步

Linux Apache HTTP/2 协议拒绝服务漏洞(CVE-2023-44487)

漏洞背景

HTTP/2(HyperText Transfer Protocol version 2)是一种用于在Web上进行通信的协议。HTTP/2的目标是减少延迟、提高效率、加快网页加载速度,尤其在高延迟和高带宽网络环境下表现更加突出。HTTP/2还保持与HTTP/1.1的向后兼容性,使得迁移到新协议更加平滑,大多数现代的Web浏览器和Web服务器都已经支持HTTP/2。近日,新华三盾山实验室监测到HTTP/2协议拒绝服务漏洞(CVE-2023-44487),且漏洞存在在野攻击,攻击者利用该漏洞可造成服务器拒绝服务。

漏洞详情

此漏洞允许恶意攻击者发起针对HTTP/2 服务器的DDoS攻击,使用 HEADERS 和 RST_STREAM发送一组HTTP请求,并重复此模式以在目标 HTTP/2 服务器上生成大量流量。通过在单个连接中打包多个HEADERS和RST_STREAM帧,可能导致每秒请求量显著增加,并导致服务器上的CPU 利用率较高,最终导致资源耗尽,造成拒绝服务。

影响范围

1、Netty >= 4.1.100.Final:参考链接

2、Go >= 1.21.3、1.20.10:参考链接

3、Apache Tomcat >= 11.0.0-M12、10.1.14、9.0.81、8.5.94:参考链接参考链接参考链接参考链接

4、grpc-go >= 1.58.3、1.57.1、1.56.3:参考链接

5、jetty >= 12.0.2、10.0.17、11.0.17、9.4.53.v20231009:参考链接

6、nghttp2 >= v1.57.0:参考链接

7、Apache Traffic Server >= 8.1.9、9.2.3:参考链接

缓解方案

1、启用waf或ddos防御相关安全系统(此类系统一般会有速率限制,可间接缓解该漏洞);

2、避免将应用完全暴露至公网;

3、在Web服务上禁用HTTP2协议