Impact
The vulnerability allows an unauthenticated remote peer to cause a memory exhaustion in an HTTP/2 endpoint by exploiting a lack of bounding on the size of the decoded header list. The attacker can send HPACK-indexed header fields that expand to a large decoded header list, consuming up to several hundred kilobytes per stream. Because the library copies these values into binary maps, the total allocated memory across streams is unbounded, leading to a denial of service. This weakness is a classic case of Allocation of Resources Without Limits or Throttling (CWE-770).
Affected Systems
Vendors: NineNine's cowlib, product: cowlib, version 2.7.0 and later. The issue manifests in any application that uses cowlib with HTTP/2 support, such as servers built on the Cowboy framework. The vulnerability exists as long as the HTTP/2 protocol is enabled and the library is not updated.
Risk and Exploitability
The CVSS score of 8.7 indicates a high severity. The EPSS value is not available, so while exploitation likelihood cannot be quantified, the attack vector is simple: an unauthenticated client can target any accessible HTTP/2 endpoint and send crafted header blocks. The vulnerability is not listed in the CISA KEV catalog, but the lack of a memory bound is sufficient for a successful denial-of-service, especially when multiple concurrent streams amplify the memory usage.
OpenCVE Enrichment