Description
Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowlib allows an unauthenticated remote peer to exhaust the memory of an HTTP/2 endpoint via HPACK-indexed header fields.
cow_http2_machine:headers_decode/4 in src/cow_http2_machine.erl decodes every HEADERS block with cow_hpack:decode/3. It bounds the compressed block size and the number of fields, but not the size of the decoded header list that RFC 9113 section 6.5.2 places under SETTINGS_MAX_HEADER_LIST_SIZE. A peer stores one header value of up to the dynamic table size (4096 bytes by default) and then references it with one-byte indexed fields, so about 100 bytes on the wire decode to a header list of about 390 KB. A consumer that copies the decoded values, as Cowboy does when cowboy_http2:headers_to_map/2 joins repeated cookie fields into one binary, allocates that amount for every stream. The total across streams and connections is not bounded.
This issue affects cowlib: from 2.7.0 before 2.22.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ninenines | cowlib | 2.7.0 – < 2.22.0 | 2.22.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | erlang-cowlib | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | erlang-cowlib | No fix yet | — |
| Ubuntu 26.04 LTS | erlang-cowlib | No fix yet | — |
| Ubuntu 24.04 LTS | erlang-cowlib | No fix yet | — |
| Ubuntu 22.04 LTS | erlang-cowlib | No fix yet | — |
| Ubuntu 20.04 LTS | erlang-cowlib | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | erlang-cowlib | No fix yet | — |
| Ubuntu 16.04 LTS | erlang-cowlib | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | rabbitmq-server | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | cowlib | >= 2.7.0, < 2.22.0 | 2.22.0 | EEF-CVE-2026-113431 |
References
- EEF CNA record for CVE-2026-113431 related third-party-advisory
- OSV record EEF-CVE-2026-113431 related
- Introducing commit b461b11 in ninenines/cowlib related
- Fix commit a3b15e2 in ninenines/cowlib patch