Does HTTP/3 suffer from this kind of complexity bloat?
Well, it requires almost an order of magnitude more energy to serve HTTP/3 than HTTP/1, so maybe? Why do I say this? Because it breaks nearly every optimization that's been made to serve content efficiently over the last 25 years (sendfile, TSO, kTLS, etc), and requires that the server's CPU touch every byte of data multiple times (rather than never, for http/1). Its basically the "what if I do everything wrong" case…
HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
31–40 of 82 posts
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#32tl;dr HTTP/2 allows clients to DDoS backends much more effectively by using the multiple-stream feature of HTTP/2 to amplify their attack directly inside the reverse proxy (which typically translates HTTP/2 to HTTP/1). > When Cloudflare's reverse proxies process incoming HTTP/2 client traffic, they copy the data from the connection’s socket into a buffer and process that buffered data in order. As each request is rea…
how on earth did nobody anticipate this kind of attack when designing the protocol? it's very obvious it can be abused like this
https://pentestmag.com/good-bad-and-the-ugly-of-http-2/
I genuinely don't know if this is real a zero day, or if it's a known protocol vulnerability that nobody was mitigating.
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#33So is nginx with http2 enabled vulnerable too? Caddy? I should I not worry about this, because a small (by Cloudflare scale) botnet may DDoS a single server completely anyway?
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#34I'm curious to learn more. How how much work is it to establish a stream and close it? It feels like something that could be done very quickly, but it also involves setting up some state (stream buffers) that could be a problem too.
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#35Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#36A number of people have expressed concerns about making the relatively simple protocol more and more complicated in the name of performance. This looks like it's going to be their "Ha, told you so!" moment.
It reminds me of Meltdown/Spectre: you have a pipe, and instructions need to flow through it in a single file line. Let's increase performance by allowing things to be sent/processed out-of-order!
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#37Earlier quoted context omitted.
Well, it requires almost an order of magnitude more energy to serve HTTP/3 than HTTP/1, so maybe? Why do I say this? Because it breaks nearly every optimization that's been made to serve content efficiently over the last 25 years (sendfile, TSO, kTLS, etc), and requires that the server's CPU touch every byte of data multiple times (rather than never, for http/1). Its basically the "what if I do everything wrong" case…
no it's more efficient in every way, they called it QUIC not SLO
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#38Earlier quoted context omitted.
It reminds me of Meltdown/Spectre: you have a pipe, and instructions need to flow through it in a single file line. Let's increase performance by allowing things to be sent/processed out-of-order!
That's a good example, because it would be an incredibly bad decision to drop speculative execution since it leads to a massive performance improvement.
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#39Earlier quoted context omitted.
It reminds me of Meltdown/Spectre: you have a pipe, and instructions need to flow through it in a single file line. Let's increase performance by allowing things to be sent/processed out-of-order!
technically the issue is speculative execution, not superscalar execution (ie. "allowing things to be sent/processed out-of-order!"). Most high performance processors have both, but you can have one without the other.
Re: HTTP/2 zero-day vulnerability results in record-breaking DDoS attacks
#40Does HTTP/3 suffer from this kind of complexity bloat?
Bit of a leading question since you assuming that this is "complexity bloat" and not just "a feature that people use", but yes, HTTP/3 has streams and so it should be vulnerable.
HTTP/2 and HTTP/3 both have a limit on the number of simultaneous streams (requests) the sender may create. In HTTP/2, the sender may create a new stream immediately after sending a reset for an existing one. In HTTP/3, the receiver is responsible for extending the stream limit after a stream closes, so there is backpressure limiting how quickly the sender may create streams.