# CVE-2026-7790: Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS

CVE-2026-7790 is fixed in erlang-cowlib on 1 platform by DEBIAN-CVE-2026-7790 (version 2.17.1-1), released May 11, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-7790
- Priority: High
- CVSS: 7.5 (Moderate)
- EPSS: 0.0043
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: May 11, 2026
- Weakness: Uncontrolled Resource Consumption
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-7790

## Description

Uncontrolled Resource Consumption vulnerability in ninenines cowlib (cow_http_te module) allows Excessive Allocation.  The chunked transfer-encoding parser in cow_http_te accepts an unbounded number of hex digits in the chunk-size field. Each digit causes a bignum multiplication (Len * 16 + digit), so parsing N hex digits requires O(N²) CPU work and O(N) memory. Additionally, when input is drip-fed, the parser discards the accumulated length on each partial read and restarts from zero on resumption, raising the cost to O(N³). An unauthenticated remote attacker can exploit this by sending an HTTP/1.1 request with Transfer-Encoding: chunked and a very long chunk-size hex string to cause denial of service through CPU exhaustion and memory amplification.  This vulnerability is associated with program file src/cow_http_te.erl and program routines cow_http_te:stream_chunked/2, cow_http_te:chunked_len/4.  This issue affects cowlib: from 0.6.0 before 2.16.1.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | erlang-cowlib Debian 14 | 2.17.1-1 | [DEBIAN-CVE-2026-7790](https://patchblox.com/security/data/fix/linux/debian-cve-2026-7790.md) | May 11, 2026 |

---

Data as of 2026-11-08T06:59:42Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
