CVE-2026-31842

Source
https://cve.org/CVERecord?id=CVE-2026-31842
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31842.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-31842
Downstream
Published
2026-04-07T11:17:33.621Z
Modified
2026-07-15T01:49:06.014188202Z
Severity
  • 8.7 (High) CVSS_V4 - 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 CVSS Calculator
Summary
Tinyproxy HTTP request parsing desynchronization via case-sensitive Transfer-Encoding handling
Details

Tinyproxy through 1.11.3 is vulnerable to HTTP request parsing desynchronization due to a case-sensitive comparison of the Transfer-Encoding header in src/reqs.c. The ischunkedtransfer() function uses strcmp() to compare the header value against "chunked", even though RFC 7230 specifies that transfer-coding names are case-insensitive. By sending a request with Transfer-Encoding: Chunked, an unauthenticated remote attacker can cause Tinyproxy to misinterpret the request as having no body. In this state, Tinyproxy sets contentlength.client to -1, skips pullclientdatachunked(), forwards request headers upstream, and transitions into relay_connection() raw TCP forwarding while unread body data remains buffered. This leads to inconsistent request state between Tinyproxy and backend servers. RFC-compliant backends (e.g., Node.js, Nginx) will continue waiting for chunked body data, causing connections to hang indefinitely. This behavior enables application-level denial of service through backend worker exhaustion. Additionally, in deployments where Tinyproxy is used for request-body inspection, filtering, or security enforcement, the unread body may be forwarded without proper inspection, resulting in potential security control bypass.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31842.json",
    "cna_assigner": "TuranSec",
    "cwe_ids": [
        "CWE-444"
    ]
}
References

Affected packages

Git / github.com/tinyproxy/tinyproxy

Affected ranges

Type
GIT
Repo
https://github.com/tinyproxy/tinyproxy
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
Database specific
{
    "cpe": "cpe:2.3:a:tinyproxy_project:tinyproxy:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "last_affected": "1.11.3"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "CPE_RANGE"
    ]
}

Affected versions

1.*
1.10.0
1.11.0
1.11.0-rc1
1.11.1
1.11.2
1.11.3
1.7.1
1.8.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31842.json"