Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade bandit to version 1.14.0 or higher.
bandit is a HTTP server for Plug and WebSock apps.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the HTTP/2 SETTINGS frame handler in lib/bandit/http2/connection.ex, where a remote peer can advertise a SETTINGS_HEADER_TABLE_SIZE of 4294967295 (the maximum allowed value) in its initial SETTINGS frame. Because the HPACK send table is not resized to match the peer-advertised size, the encoder accumulates an unbounded table that grows with every response header, causing response latency to degrade progressively as the table expands. An attacker can exploit this by opening a single HTTP/2 connection, setting the maximum header table size, and issuing a stream of requests to endpoints that return varying header values.
1. Open an HTTP/2 connection and advertise a `SETTINGS_HEADER_TABLE_SIZE` of 4294967295 in the initial SETTINGS frame.
2. Send cheap requests one after another on that connection, each to an endpoint whose response carries a header value that changes per request.
3. Time the round trips. In the reporter's run, the last 1,000 of 12,000 requests took 3.68 times as long as the first 1,000.
Note: The PoC states no specific environment, runtime version, or operating system.