| Name | CVE-2026-54388 |
| Description | Tinyproxy through 1.11.3, fixed in commit 364cdb6, fails to reject requests containing multiple Content-Length headers with differing values, forwarding all duplicate headers to the backend while using the first value to determine how many request body bytes to consume. Remote attackers can desynchronize the proxy and backend parser state, allowing injection of arbitrary HTTP requests to the backend to enable cache poisoning, access control bypass, and request hijacking. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| Debian Bugs | 1140350 |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|
| tinyproxy (PTS) | bullseye | 1.10.0-5 | vulnerable |
| bullseye (security) | 1.10.0-5+deb11u1 | vulnerable |
| bookworm, bookworm (security) | 1.11.1-2.1+deb12u1 | fixed |
| trixie | 1.11.2-1 | vulnerable |
| forky, sid | 1.11.3-1 | vulnerable |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|
| tinyproxy | source | bookworm | (not affected) | | | |
| tinyproxy | source | (unstable) | (unfixed) | | | 1140350 |
Notes
[trixie] - tinyproxy <no-dsa> (Minor issue)
[bookworm] - tinyproxy <not-affected> (Duplicate header keys are rejected by orderedmap_append()/htab_insert(); duplicate Content-Length emission only exists in the hashmap era (<= 1.10.x) and again since the pseudomap switch in 1.11.3)
[bullseye] - tinyproxy <postponed> (Minor issue; hashmap_insert() keeps duplicate Content-Length headers, but the desync needs a shared upstream proxy/cache, no upstream release with the fix)
https://github.com/tinyproxy/tinyproxy/issues/609
https://github.com/tinyproxy/tinyproxy/pull/610
Fixed by: https://github.com/tinyproxy/tinyproxy/commit/364cdb67e0ea00a8e4a7037e2693e0711e816adb
Reintroduced by https://github.com/tinyproxy/tinyproxy/commit/56404a3dd68e (pseudomap, 1.11.3); not present in 1.11.0-1.11.2 (orderedmap)