PT-2026-30811 · Tinyproxy+2 · Tinyproxy
Muxammadiyev Giyosiddin
·
Published
2026-04-07
·
Updated
2026-05-01
·
CVE-2026-31842
CVSS v4.0
8.7
High
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
Tinyproxy versions 1.0 through 1.11.3
Description
An issue exists in the way the
Transfer-Encoding header is parsed in src/reqs.c. The is chunked transfer() function uses strcmp() to compare the header value against "chunked", failing to account for the fact that transfer-coding names are case-insensitive. An unauthenticated remote attacker can send a request with "Transfer-Encoding: Chunked", causing the software to misinterpret the request as having no body. Consequently, content length.client is set to -1, pull client data chunked() is skipped, and the system transitions into relay connection() raw TCP forwarding while body data remains buffered. This creates a desynchronization between the proxy and backend servers. RFC-compliant backends may wait indefinitely for chunked body data, leading to backend worker exhaustion and application-level denial of service. Furthermore, if the software is used for request-body inspection or security enforcement, the unread body may be forwarded without inspection, potentially bypassing security controls.Recommendations
At the moment, there is no information about a newer version that contains a fix for this vulnerability.
Exploit
DoS
HTTP Request/Response Smuggling
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tinyproxy