Tinyproxy
CVE-2026-54388
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed Tinyproxy instance
-
DeliveryCraft request with duplicate Content-Length headers
-
ExploitSend through proxy to backend
-
ExecutionDesynchronize proxy/backend parsers
-
PersistSmuggle attacker-controlled request
-
ImpactPoison cache or bypass auth controls
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
|
| Exploitation Conditions | Exploitation requires only network reachability to a Tinyproxy instance at or below version 1.11.3 that is forwarding HTTP traffic to a backend whose Content-Length parser disagrees with Tinyproxy's first-header preference (a near-universal condition given common backends like nginx, Apache, and Node-based services). No authentication, configuration toggle, or user interaction is required, matching the CVSS PR:N/UI:N/AT:N metrics. The principal limiting factors are: the deployment must actually proxy HTTP (not just HTTPS CONNECT tunnels, where the proxy does not parse request bodies), the backend must be one whose Content-Length handling differs from Tinyproxy's, and the impact value is bounded by what the backend trusts the proxy for (cache contents, IP-based ACLs, header-stamped identity), so pure stateless backends derive less benefit for the attacker. |
| Impact | The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N) and the 9.3 base score reflect that exploitation requires only an attacker-reachable Tinyproxy instance and crafted HTTP traffic, with no authentication, user interaction, or unusual conditions. EPSS and CISA KEV data are not provided in the input, so real-world exploitation prevalence cannot be confirmed; the issue is currently rated 'no public exploit identified at time of analysis,' though the patch diff itself reveals the smuggling primitive and request smuggling exploitation against proxies is well understood in the offensive community. Practical risk is highest where Tinyproxy fronts shared caches, authentication gateways, or microservice backends - environments where smuggled requests translate directly into cache poisoning or auth bypass - and somewhat lower for pure outbound NAT-style proxy use cases. |
| Exploit ScenarioDerived | An attacker who can reach a vulnerable Tinyproxy instance - for example, an internal user, a tenant on a shared proxy, or any client of an exposed forward proxy - sends a single TCP request containing two Content-Length headers with differing values plus a smuggled second request hidden in the body. Tinyproxy uses the first Content-Length to determine body length and forwards both headers to the backend, which uses the second value, causing the backend to interpret the trailing bytes as a new request attributed to the next legitimate client. The attacker leverages this desync to poison cached responses, bypass proxy-level authentication or ACLs, or hijack other users' in-flight requests. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
HTTP request smuggling in Tinyproxy through 1.11.3 allows remote unauthenticated attackers to desynchronize the proxy and its backend by sending requests with multiple Content-Length headers having differing values. Because Tinyproxy forwards all duplicate Content-Length headers while parsing only the first value, downstream servers may interpret request boundaries differently, enabling cache poisoning, access control bypass, and request hijacking. No public exploit identified at time of analysis, but the underlying primitive is well documented and the upstream commit 364cdb6 clearly demonstrates the parsing flaw.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the changes in commit 364cdb6 (https://github.com/tinyproxy/tinyproxy/commit/364cdb67e0ea00a8e4a7037e2693e0711e816adb) by upgrading to a build that includes the patch or by rebuilding from current main, since no tagged release beyond 1.11.3 is referenced in the input. If immediate patching is not possible, place Tinyproxy behind a strict HTTP-aware front-end (such as a hardened reverse proxy or WAF) configured to reject requests containing multiple Content-Length headers or simultaneous Content-Length and Transfer-Encoding: chunked, accepting the trade-off that this adds an extra hop and that some legitimate but quirky clients may be blocked. Additionally, restrict who can reach the proxy by binding it to trusted interfaces or enforcing network-layer ACLs, recognizing this only reduces exposure rather than fixing the parsing flaw.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Tinyproxy is a lightweight forward HTTP/HTTPS proxy daemon commonly deployed as an egress gateway in embedded, containerized, and small-network environments (cpe:2.3:a:tinyproxy:tinyproxy:*). The vulnerability is a classic CWE-444 Inconsistent Interpretation of HTTP Requests (HTTP Request/Response Smuggling) caused by the header-handling logic in src/reqs.c, specifically add_header_to_connection() and process_client_headers(). The upstream patch (commit 364cdb6, merged via PR #610) rejects additional Content-Length headers once one is already stored and strips Content-Length when chunked Transfer-Encoding is also present, eliminating the parser-state divergence between Tinyproxy and the backend.
Know when Tinyproxy gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Remote unauthenticated smuggling via crafted headers (AV:N/AC:L/PR:N/UI:N); scope changes as the proxy mis-delivers requests to a separate backend authority (S:C); confidentiality and integrity of smuggled/poisoned traffic are high, availability not directly impacted.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Executive ViewAI
Tinyproxy versions through 1.11.3 contain a critical HTTP request smuggling vulnerability (CVSS 9.3) that allows unauthenticated attackers to desynchronize the proxy from backend servers, enabling cache poisoning and access control bypass. Organizations relying on Tinyproxy for request inspection and security controls face immediate risk of unauthorized content delivery and circumvention of proxy-enforced policies.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.
Affected Products (CPE)CVE.org
Potential leak of left-over heap data if custom error page templates containing special non-standard variables are used.
Tinyproxy through 1.11.2 contains an integer overflow vulnerability in the strip_return_port() function within src/reqs.
HTTP request smuggling in Tinyproxy through 1.11.3 lets remote unauthenticated attackers desynchronize the proxy and bac
Authentication bypass in Tinyproxy through 1.11.3 lets unauthenticated remote attackers reach the internal statistics pa
Remote denial of service in tinyproxy versions through 1.11.3 allows unauthenticated attackers to exhaust all proxy work
HTTP request smuggling and denial of service in Tinyproxy through 1.11.3 allows unauthenticated remote attackers to caus
main.c in Tinyproxy 1.8.4 and earlier creates a /run/tinyproxy/tinyproxy.pid file after dropping privileges to a non-roo
Tinyproxy 1.8.3 and earlier allows remote attackers to cause a denial of service (CPU and memory consumption) via (1) a
Same weakness CWE-444 – HTTP Request/Response Smuggling
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB