CVE-2026-12611: Race Condition
A client may issue HTTP/2 requests to a Jetty server that result in blocking writes that are never unblocked, eventually causing all threads to be blocked and the whole server to become unresponsive.
This is caused by a race condition in the server when handling RSTSTREAM frames and GOAWAY frames sent by the client.
The race condition "resets" the HTTP2Flusher.terminated, previously set to a non-null value, to the null value, allowing entries to be enqueued in the flusher that however will never be processed. These unprocessed entries are the ones that would unblock the write-blocked threads.
Affected Software
Event History
Frequently Asked Questions
What does an attacker need to do to trigger the denial of service?
The attacker needs to act as an HTTP/2 client and send RST_STREAM and GOAWAY frames in a sequence that triggers the server-side race condition. The resulting stalled flusher leaves blocking writes unable to resume until server threads are exhausted.
How can I tell whether an instance is affected or under attack?
The described outcome is that threads become blocked on writes and the Jetty server eventually becomes unresponsive. The provided information does not include affected versions, log indicators, or a configuration-based detection method.