{"id":"UBUNTU-CVE-2026-113431","details":"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 onward.","modified":"2026-11-10T02:50:21.436386394Z","published":"2026-11-09T00:00:00Z","upstream":["CVE-2026-113431"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-113431"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-113431"},{"type":"REPORT","url":"https://cna.erlef.org/cves/CVE-2026-113431.html"},{"type":"REPORT","url":"https://github.com/ninenines/cowlib/commit/a3b15e29b3067644bfd580246c87f7af7a90b3b8"},{"type":"REPORT","url":"https://github.com/ninenines/cowlib/commit/b461b119e78e4e09bb28b186b09da7ed4a86a0dd"},{"type":"REPORT","url":"https://osv.dev/vulnerability/EEF-CVE-2026-113431"}],"affected":[{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"1.3.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-2"],"ecosystem_specific":{"binaries":[{"binary_version":"1.3.0-2","binary_name":"erlang-cowlib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-3"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"1.3.0-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-3"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"1.3.0-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-3"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"1.3.0-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-3build1","2.19.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"2.19.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}},{"package":{"name":"erlang-cowlib","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/erlang-cowlib?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-3","1.3.0-3build1"],"ecosystem_specific":{"binaries":[{"binary_name":"erlang-cowlib","binary_version":"1.3.0-3build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-113431.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}