精選聯盟

新發現的HTTP/2漏洞使伺服器面臨DoS攻擊風險 單個TCP連接配接即可實作

作者:cnBeta

HTTP/2 于 2015 年推出,為 HTTP 協定帶來了多項增強功能,包括高效的資料傳輸、請求處理、響應速度,以及對基于網站的資訊交易進行标頭壓縮。但除了這些效率之外,HTTP/2 也給管理者和安全團隊帶來了一系列獨特的挑戰。本周早些時候,研究人員公布了一個新發現的與 HTTP/2 相關的漏洞,該漏洞可用于對易受攻擊的目标實施拒絕服務(DoS)攻擊。

新發現的HTTP/2漏洞使伺服器面臨DoS攻擊風險 單個TCP連接配接即可實作

在thehackernews的報道中,安全研究員Bartek Nowotarski 于 1 月 25 日向卡内基梅隆大學計算機應急小組(CERT)協調中心報告了這一問題。

該漏洞被稱為"HTTP/2 CONTINUATION Flood",它利用了配置不當的HTTP/2 實作,這些實作未能限制或淨化請求資料流中的 CONTINUATION 幀。

CONTINUATION 幀是一種用于延續報頭塊片段序列的方法,允許報頭塊在多個幀中分割。當伺服器收到一個特定的 END_HEADERS 标志,表明沒有其他 CONTINUATION 或其他幀時,先前分割的報頭塊就被視為已完成。

新發現的HTTP/2漏洞使伺服器面臨DoS攻擊風險 單個TCP連接配接即可實作

如果 HTTP/2 實作不限制單個資料流中可發送的 CONTINUATION 幀的數量,就很容易受到攻擊。如果攻擊者開始向未設定 END_HEADERS 标志的易受攻擊伺服器發送 HTTP 請求,該請求将允許攻擊者向該伺服器持續發送 CONTINUATION 幀流,最終導緻伺服器記憶體不足而崩潰,并導緻成功的拒絕服務 (DoS) 攻擊。

CERT 還列舉了該漏洞的另一個變種,即使用 HPACK Huffman 編碼的 CONTINUATION 幀造成 CPU 資源耗盡,同樣導緻 DoS 攻擊成功。

Nowotarski 指出,這意味着單台機器甚至單TCP連接配接都有可能破壞伺服器的可用性,造成從服務崩潰到性能下降等各種後果。

分布式拒絕服務(DDoS)攻擊會建立大規模僵屍網絡,通過純粹的流量來壓垮網絡,而 DoS 攻擊則不同,它可以通過向傳輸控制協定(TCP)連接配接發送大量請求來耗盡目标伺服器的資源,進而利用單個裝置制造虛假網絡流量。

新發現的HTTP/2漏洞使伺服器面臨DoS攻擊風險 單個TCP連接配接即可實作

與該新漏洞有關的幾個常見漏洞和暴露 (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。

繼續閱讀