🚨 HTTP/2 CONTINUATION Flood: Security Advisory
👋 Hey! I'm Bartek Nowotarski, a security researcher focusing on critical technologies: protocols, programming languages or popular open source projects. Check my latest posts below and a list of vulnerabilites I've discovered!

HTTP/2 CONTINUATION Flood: Technical Details

Deep technical analysis of the CONTINUATION Flood: a class of vulnerabilities within numerous HTTP/2 protocol implementations. In many cases, it poses a more severe threat compared to the Rapid Reset: 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. Remarkably, requests that constitute an attack are not visible in HTTP access logs. A simplified security advisory and the list of affected projects can be found in: HTTP/2 CONTINUATION Flood.

Security Implications of net/textproto.Reader Misuse

net/textproto.Reader should be only used with io.LimitReader. It turns out that often this is not the case, even in Golang standard library. This caused Out Of Memory crash vulnerabilities in Golang net/http package (CVE-2023-45290) and other open-source projects.

HTTP Chunk Extension Processing Vulnerabilities

I discovered a family of vulnerabilities in major projects including Golang, Node.js, Hyper (Rust HTTP library), and Puma (Rails HTTP library). Invalid processing of HTTP chunk extensions created an amplification vector for server reads which allowed DoS attacks caused by network bandwidth or CPU exhaustion.