{"id":"CVE-2026-54387","state":"PUBLISHED","title":"Tinyproxy - HTTP Request Smuggling via CL/TE Desynchronization","description":"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.","publishedAt":"2026-06-17T19:48:37.904Z","updatedAt":"2026-07-14T21:33:51.201Z","severity":{"score":9.3,"label":"Critical","version":"4.0","vector":"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","source":"VulnCheck"},"assigner":"VulnCheck","products":["tinyproxy tinyproxy"],"affected":[{"vendor":"tinyproxy","product":"tinyproxy","packageURL":"pkg:github/tinyproxy/tinyproxy","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.11.3","versionType":"semver"},{"version":"ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","status":"unaffected","versionType":"git"}],"repo":"https://github.com/tinyproxy/tinyproxy"}],"references":["https://github.com/tinyproxy/tinyproxy/issues/609","https://github.com/tinyproxy/tinyproxy/pull/610","https://github.com/tinyproxy/tinyproxy/commit/ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","https://www.vulncheck.com/advisories/tinyproxy-http-request-smuggling-via-cl-te-desynchronization"],"weaknesses":["CWE-444"],"ingestedAt":"2026-10-29T20:12:24.861Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/54xxx/CVE-2026-54387.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-54387","state":"PUBLISHED","datePublished":"2026-06-17T19:48:37.904Z","dateUpdated":"2026-07-14T21:33:51.201Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-06-12T20:20:02.950Z"},"containers":{"cna":{"title":"Tinyproxy - HTTP Request Smuggling via CL/TE Desynchronization","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"tinyproxy","product":"tinyproxy","packageURL":"pkg:github/tinyproxy/tinyproxy","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.11.3","versionType":"semver"},{"version":"ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","status":"unaffected","versionType":"git"}],"repo":"https://github.com/tinyproxy/tinyproxy"}],"references":[{"url":"https://github.com/tinyproxy/tinyproxy/issues/609","name":"Researcher Pull Request","tags":["issue-tracking"]},{"url":"https://github.com/tinyproxy/tinyproxy/pull/610","name":"Maintainer Pull Request","tags":["issue-tracking"]},{"url":"https://github.com/tinyproxy/tinyproxy/commit/ff45d3bf0e61d0f8ed97ab379d3047f04eb67521","name":"Patch Commit","tags":["patch"]},{"url":"https://www.vulncheck.com/advisories/tinyproxy-http-request-smuggling-via-cl-te-desynchronization","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"CRITICAL","baseScore":9.3,"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"}},{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","version":"3.1","baseSeverity":"CRITICAL","baseScore":9.1,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-444","lang":"en","description":"Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-07-14T21:33:51.201Z"},"tags":["x_open-source"],"datePublic":"2026-05-07T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:tinyproxy_project:tinyproxy:*:*:*:*:*:*:*:*","versionEndIncluding":"1.11.3"}]}]}],"credits":[{"lang":"en","value":"Tristan Madani (@TristanInSec)","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"vulncheck"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-18T13:10:38.925525Z","id":"CVE-2026-54387","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-18T13:10:50.079Z"}}]}}}