{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-54387: Tinyproxy - HTTP Request Smuggling via CL/TE Desynchronization","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-54387","status":"final","version":"1","initial_release_date":"2026-06-17T19:48:37.904Z","current_release_date":"2026-06-17T19:54:12.831Z","revision_history":[{"date":"2026-06-17T19:48:37.904Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"Tinyproxy through 1.11.3, fixed in commit ff45d3b, fails to reconcile conflicting Content-Length and Transfer-Encoding: chunked headers, forwarding both verbatim to the backend while using Content-Length 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.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-54387 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-54387"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-54387"},{"category":"external","summary":"Researcher Pull Request","url":"https://github.com/tinyproxy/tinyproxy/issues/609"},{"category":"external","summary":"Maintainer Pull Request","url":"https://github.com/tinyproxy/tinyproxy/pull/610"},{"category":"external","summary":"Patch Commit","url":"https://github.com/tinyproxy/tinyproxy/commit/ff45d3bf0e61d0f8ed97ab379d3047f04eb67521"},{"category":"external","summary":"vulncheck.com","url":"https://www.vulncheck.com/advisories/tinyproxy-http-request-smuggling-via-cl-te-desynchronization"}]},"product_tree":{"branches":[{"category":"vendor","name":"tinyproxy","branches":[{"category":"product_name","name":"tinyproxy","branches":[{"category":"product_version_range","name":"<=1.11.3","product":{"name":"tinyproxy tinyproxy <=1.11.3","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:tinyproxy:tinyproxy:*:*:*:*:*:*:*:*"}}},{"category":"product_version","name":"ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","product":{"name":"tinyproxy tinyproxy ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","product_id":"CSAFPID-2","product_identification_helper":{"cpe":"cpe:2.3:a:tinyproxy:tinyproxy:*:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-54387","title":"Tinyproxy - HTTP Request Smuggling via CL/TE Desynchronization","notes":[{"category":"description","text":"Tinyproxy through 1.11.3, fixed in commit ff45d3b, fails to reconcile conflicting Content-Length and Transfer-Encoding: chunked headers, forwarding both verbatim to the backend while using Content-Length 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.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"],"fixed":["CSAFPID-2"]},"scores":[{"cvss_v4":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","baseScore":9.3,"baseSeverity":"CRITICAL"},"products":["CSAFPID-1"]}],"remediations":[{"category":"vendor_fix","details":"Update to a fixed version: ff45d3bf0e61d0f8ed97ab379d3047f04eb67521.","product_ids":["CSAFPID-1"],"url":"https://github.com/tinyproxy/tinyproxy/commit/ff45d3bf0e61d0f8ed97ab379d3047f04eb67521"}]}]}