Web server alert: HTTP/2 vulnerability enables crash with a single connection

4 min read
zen8labs continuation flodd http/2

The digital world is constantly shifting, bringing innovations intended to enhance our online interactions. Yet, with each new advancement, fresh obstacles emerge. A clear example is the recent identification of security flaws within the HTTP/2 protocol, known as CONTINUATION Flood. These flaws enable a Denial of Service (DoS) attack capable of shutting down web servers via a single TCP connection under certain circumstances. In this discussion, we’ll discuss the findings, their consequences, and their significance for the future of internet security.

What is HTTP/2?

First introduced in 2015, HTTP/2 was developed as an improvement over its predecessor, HTTP/1.1. The protocol aimed to enhance web performance through several key features, including binary framing for more efficient data transmission, multiplexing that supports multiple requests and responses over a single connection, and header compression to reduce overhead. These features were designed to make the web faster and more reliable for users and developers alike.

CONTINUATION Flood vulnerability

The vulnerability, known as the CONTINUATION Flood, was brought to light by researcher Barket Nowotarski. It concerns the HTTP/2 protocol’s CONTINUATION frames, which are essential for transmitting large blocks of data across multiple frames. Nowotarski pointed out that many implementations of the protocol fail to properly limit or check the use of these frames, leading to potential server outages. An attacker can exploit this by sending a continuous stream of frames without setting the ‘END_HEADERS’ flag, causing the server to exhaust its memory or CPU resources as it attempts to process these frames. 

Technical insights and impacts

HTTP/2’s structure includes header and trailer sections, which are serialized into blocks for transmission. CONTINUATION frames play a critical role in assembling these blocks. However, the absence of stringent checks on these frames in various implementations opens the door for malicious actors to send lengthy strings of frames, thereby triggering out-of-memory crashes or CPU exhaustion.

Nowotarski elaborates on the severe yet mundane nature of out-of-memory conditions, emphasizing that affected implementations simply did not impose a limit on the size of headers built using CONTINUATION frames. The lack of a header timeout mechanism means that just one HTTP/2 connection could be enough to bring down a server.

Vulnerabilities and their severity

A recent alert from the CERT Coordination Center (CERT-CC) highlighted several Common Vulnerabilities and Exposures (CVE) IDs corresponding to different HTTP/2 implementations vulnerable to these types of attacks. These vulnerabilities range from memory leaks and consumption to CPU exhaustion, underscoring the potential for varying levels of DoS attacks against affected systems.

Wider implications

The severity of this vulnerability cannot be overstated. According to CERT-CC, numerous vendors and libraries, including major names like Red Hat, SUSE Linux, Arista Networks, and Apache, have confirmed their impact by one or more of the CVEs listed. Nowotarski has warned that this issue is more critical than previous HTTP/2 vulnerabilities, given the vast amount of HTTP traffic and the significance of the projects affected. He also points out the challenge server administrators face in debugging and mitigating these issues without detailed HTTP/2 knowledge, especially since malicious requests may not appear in access logs without advanced frame analytics enabled.

Technical solutions for mitigation

Addressing the CONTINUATION Flood vulnerability requires a multi-faceted approach, encompassing updates, configuration adjustments, and monitoring strategies. Here are several technical solutions to consider:

  1. Apply patches and updates: Ensuring that all web server software and HTTP/2 libraries are up-to-date is the first line of defense. Vendors have released patches specifically targeting the vulnerabilities identified, such as those listed in the CERT-CC alert.
  2. Implement resource limits: Configure your server to impose strict limits on memory and CPU usage per connection. This can prevent a single connection from consuming excessive resources, thereby mitigating the risk of DoS attacks.
  3. Use rate limiting: Implement rate limiting to control the number of requests a user can make in a certain timeframe. This helps in preventing abuse of the HTTP/2 protocol by reducing the chance of an attacker successfully sending a continuous stream of CONTINUATION frames.
  4. Enable advanced frame analytics: Upgrading server analytics capabilities to include advanced frame analytics can help in detecting abnormal patterns of CONTINUATION frames. By identifying and analyzing these patterns, administrators can take proactive measures against potential attacks.
  5. Limit header size and frame length: Configure your HTTP/2 settings to limit the maximum size of headers and the length of frames. This directly addresses the exploitation vector by preventing the accumulation of excessively large headers that can lead to out-of-memory conditions.
  6. Implement endpoints security measures: Utilize endpoint security solutions that include behavior analysis and anomaly detection. These tools can identify and mitigate unusual traffic patterns that may indicate an ongoing attack.
  7. Regularly monitor and audit: Continuous monitoring of network traffic and regular audits of HTTP/2 implementations can uncover potential vulnerabilities before they are exploited. Pay special attention to unusual spikes in resource usage, which could indicate an attempt to exploit this vulnerability.

Conclusion

The CONTINUATION Flood vulnerability in HTTP/2 poses a significant threat to web server stability and security. However, with the right preventive measures and responses, it is possible to mitigate the risks associated with this vulnerability. Regularly updating server software, implementing sensible resource and rate limits, enhancing monitoring capabilities, and adopting proactive security practices are critical steps in protecting web infrastructures from potential attacks. It’s crucial to keep our security strong as we deal with the complexities of today’s internet protocols.

By staying informed and prepared, organizations can defend against the evolving landscape of cyber threats. If you’re seeking expert IT solutions to bolster your defense against such vulnerabilities, reach out to zen8labs – your trusted IT consulting partner. Contact zen8labs today for comprehensive IT solutions tailored to protect your digital assets.

Related posts

If you have ever had a question about the work of zen8labs, then this is the piece for you. Learn about some of the practices that zen8labs practices at work and the methods we employ in our latest blog.
5 min read
Building a high-traffic website is a challenging task that requires the right approach and detailed implementation. Here is the case study of building the website https://vinmec.com - a very high-traffic system in Vietnam that serves hundreds million visits annually.
5 min read
Healthcare is changing faster than ever before, thanks to some incredible tech advancements. zen8labs, a leading force in IT consulting for healthcare, is at the forefront of these innovations. Learn about some of these innovations in our latest blog about the tech in healthcare.
4 min read