Article Details

Scrape Timestamp (UTC): 2024-04-04 11:34:59.995

Source: https://thehackernews.com/2024/04/new-http2-vulnerability-exposes-web.html

Original Article Text

Click to Toggle View

New HTTP/2 Vulnerability Exposes Web Servers to DoS Attacks. New research has found that the CONTINUATION frame in the HTTP/2 protocol can be exploited to conduct denial-of-service (DoS) attacks. The technique has been codenamed HTTP/2 CONTINUATION Flood by security researcher Bartek Nowotarski, who reported the issue to the CERT Coordination Center (CERT/CC) on January 25, 2024. "Many HTTP/2 implementations do not properly limit or sanitize the amount of CONTINUATION frames sent within a single stream," CERT/CC said in an advisory on April 3, 2024. "An attacker that can send packets to a target server can send a stream of CONTINUATION frames that will not be appended to the header list in memory but will still be processed and decoded by the server or will be appended to the header list, causing an out of memory (OOM) crash." Like in HTTP/1, HTTP/2 uses header fields within requests and responses. These header fields can comprise header lists, which in turn, are serialized and broken into header blocks. The header blocks are then divided into block fragments and transmitted within HEADER or what's called CONTINUATION frames. "The CONTINUATION frame (type=0x9) is used to continue a sequence of header block fragments," the documentation for RFC 7540 reads. "Any number of CONTINUATION frames can be sent, as long as the preceding frame is on the same stream and is a HEADERS, PUSH_PROMISE, or CONTINUATION frame without the END_HEADERS flag set." The last frame containing headers will have the END_HEADERS flag set, which signals the remote endpoint that it's the end of the header block. According to Nowotarski, CONTINUATION Flood is a class of vulnerabilities within several HTTP/2 protocol implementations that pose a more severe threat compared to the Rapid Reset attack that came to light in October 2023. "A single machine (and in certain instances, a mere single TCP connection or a handful of frames) has the potential to disrupt server availability, with consequences ranging from server crashes to substantial performance degradation," the researcher said. "Remarkably, requests that constitute an attack are not visible in HTTP access logs." The vulnerability, at its core, has to do with incorrect handling of HEADERS and multiple CONTINUATION frames that pave the way for a DoS condition. In other words, an attacker can initiate a new HTTP/2 stream against a target server using a vulnerable implementation and send HEADERS and CONTINUATION frames with no set END_HEADERS flag, creating a never-ending stream of headers that the HTTP/2 server would need to parse and store in memory. While the exact outcome varies depending on the implementation, impacts range from instant crash after sending a couple of HTTP/2 frames and out of memory crash to CPU exhaustion, thereby affecting server availability. "RFC 9113 [...] mentions multiple security issues that may arise if CONTINUATION frames are not handled correctly," Nowotarski said. "At the same time, it does not mention a specific case in which CONTINUATION frames are sent without the final END_HEADERS flag which can have repercussions on affected servers." The issue impacts several projects such as amphp/http (CVE-2024-2653), Apache HTTP Server (CVE-2024-27316), Apache Tomcat (CVE-2024-24549), Apache Traffic Server (CVE-2024-31309), Envoy proxy (CVE-2024-27919 and CVE-2024-30255), Golang (CVE-2023-45288), h2 Rust crate, nghttp2 (CVE-2024-28182), Node.js (CVE-2024-27983), and Tempesta FW (CVE-2024-2758). Users are recommended to upgrade affected software to the latest version to mitigate potential threats. In the absence of a fix, it's advised to consider temporarily disabling HTTP/2 on the server. The Strategic Guide to Cloud Security Unlock practical steps to securing everything you build and run in the cloud. Goodbye, Atlassian Server. Goodbye… Backups? Protect your data on Atlassian Cloud from disaster with Rewind's daily backups and on-demand restores. How to Update and Automate Outdated Security Processes Download the eBook for step-by-step guidance on how to update your security processes as your business grows.

Daily Brief Summary

DDOS // New HTTP/2 CONTINUATION Frame Vulnerability Triggers Server DoS

A security researcher discovered an exploitable flaw in the HTTP/2 protocol allowing for denial-of-service (DoS) attacks.

The vulnerability involves the mishandling of CONTINUATION frames within the HTTP/2 protocol, leading to potential server crashes or severe performance hits.

Named "HTTP/2 CONTINUATION Flood," this class of vulnerabilities is considered to pose a greater threat than the previously known "Rapid Reset" attack.

Exploitation of this flaw does not show up in traditional HTTP access logs, making the attacks harder to detect.

Several projects are impacted by the vulnerability, including well-known servers and frameworks like Apache HTTP Server, Apache Tomcat, and Node.js.

Affected software vendors have been notified, and users are advised to upgrade to the latest versions to mitigate the threat.

In cases where no immediate fix is available, it is recommended to temporarily disable HTTP/2 on servers to prevent potential DoS attacks.