Skip to main content

Tinyproxy CVE-2026-31842

| EUVDEUVD-2026-19603 HIGH
HTTP Request/Response Smuggling (CWE-444)
2026-04-07 TuranSec GHSA-mh87-c4c3-cgwf
8.7
CVSS 4.0 · Vendor: TuranSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send HTTP request with Transfer-Encoding: Chunked header
  2. Delivery
    Tinyproxy case-sensitive strcmp() fails to recognize chunked encoding
  3. Exploit
    Request body misinterpreted, content_length set to -1
  4. Execution
    Chunked parsing skipped, request forwarded malformed
  5. Impact
    HTTP request smuggling attack succeeds

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

No special conditions — remote unauthenticated exploitation against Tinyproxy versions through 1.11.3. Attacker sends HTTP request with Transfer-Encoding header using non-standard capitalization (e.g., 'Chunked' instead of 'chunked') to trigger request desynchronization.

Impact

Real-world risk is significant for environments using Tinyproxy as a security control layer or reverse proxy fronting Node.js/Nginx backends. The CVSS 7.5 score (High severity) reflects network accessibility, low attack complexity, and high availability impact, accurately representing the denial-of-service dimension. The attack vector (AV:N) and lack of privilege requirements (PR:N) mean any network-positioned attacker can trigger the condition without authentication. However, the assessment must differentiate between the two exploitation paths: (1) DoS via backend worker exhaustion is immediately exploitable with trivial technical skill, requiring only HTTP client capability to send capitalized headers; (2) Security control bypass requires specific deployment architecture where Tinyproxy performs request-body inspection or filtering, limiting applicability. No EPSS data provided for probability assessment, but public technical disclosure in GitHub issue #604 significantly lowers exploitation barrier. No confirmed active exploitation (CISA KEV) status. The SSVC framework would likely classify this as 'attend' priority: exploitation is technically automatable (simple HTTP request modification), technical impact is partial (availability focused), but requires specific architectural conditions for maximum impact. Organizations using Tinyproxy in security-critical reverse proxy roles should prioritize remediation; those using it for simple forward proxying face primarily DoS risk.

Exploit ScenarioDerived

An attacker identifies a web application infrastructure using Tinyproxy as a reverse proxy in front of Node.js application servers that perform security validation on request bodies. The attacker crafts an HTTP POST request with 'Transfer-Encoding: Chunked' (capitalized C) containing malicious payload data in chunk-encoded format in the message body. Tinyproxy's case-sensitive comparison fails to recognize the capitalized header, treats the request as having no body, and immediately forwards headers upstream while leaving chunk-encoded malicious payload in the input buffer. The Node.js backend correctly interprets the capitalized Transfer-Encoding header per RFC 7230, enters chunked decoding mode, and waits indefinitely for chunk data that Tinyproxy will never forward. The connection hangs, consuming a backend worker thread. By repeating this attack across multiple connections, the attacker exhausts the backend worker pool, causing legitimate requests to queue indefinitely and achieving application-level denial of service without triggering rate-limiting or volumetric DDoS protections that focus on request rates rather than connection state exhaustion.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 07, 2026

HTTP request smuggling and denial of service in Tinyproxy through 1.11.3 allows unauthenticated remote attackers to cause backend worker exhaustion and bypass request inspection controls. The vulnerability stems from case-sensitive Transfer-Encoding header parsing that violates RFC 7230, enabling attackers to send 'Transfer-Encoding: Chunked' (capitalized) to desynchronize Tinyproxy's request state from RFC-compliant backends like Node.js and Nginx. No public exploit identified at time of analysis, though EPSS data not available and technical details are publicly documented in GitHub issue #604. Authentication requirements not confirmed from available data, but CVSS vector indicates network-accessible attack requiring no privileges.

RemediationAI

Review GitHub issue https://github.com/tinyproxy/tinyproxy/issues/604 for upstream development status and apply patches when vendor releases fix addressing case-insensitive Transfer-Encoding header comparison. Until patched version becomes available, implement network-layer controls to block or normalize Transfer-Encoding headers with non-lowercase values at perimeter firewalls or WAF devices. For environments requiring immediate risk reduction, consider replacing Tinyproxy with alternative proxy solutions that demonstrate RFC 7230 compliance, or deploy Tinyproxy behind a normalizing reverse proxy that enforces lowercase header canonicalization. Organizations using Tinyproxy for security inspection should audit whether request bodies are being properly validated, as existing deployments may have unknowingly allowed uninspected content through this parsing discrepancy. Monitor backend connection pools for sustained connection exhaustion patterns that may indicate exploitation attempts. Consult RFC 7230 specification at https://datatracker.ietf.org/doc/html/rfc7230 for HTTP compliance requirements and validate any custom proxy implementations against case-insensitivity requirements for transfer-coding directives.

Affected VersionsENISA

Tinyproxy 0 ≤1.11.3

Affected Packages

euvd tinyproxy no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability exists in Tinyproxy's src/reqs.c file, specifically in the is_chunked_transfer() function which performs case-sensitive string comparison using strcmp() against the literal 'chunked' value. RFC 7230 Section 4 mandates case-insensitive handling of transfer-coding names, meaning 'chunked', 'Chunked', and 'CHUNKED' must be treated identically. This CWE-444 (Inconsistent Interpretation of HTTP Requests) class flaw creates a state desynchronization where Tinyproxy misinterprets capitalized 'Chunked' as having no Transfer-Encoding, sets content_length.client to -1, bypasses pull_client_data_chunked() function, and immediately transitions to relay_connection() raw TCP mode. Meanwhile, RFC-compliant backend servers correctly parse the capitalized header and enter chunked transfer decoding mode, waiting indefinitely for chunk-encoded body data. The buffered but unforwarded request body remains in Tinyproxy's input stream, creating a persistent request-response desynchronization that can propagate to subsequent pipelined requests, a classic HTTP request smuggling condition vector.

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

Vendor (TuranSec) PRIMARY 8.7 HIGH
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
SUSE 7.8 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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 is_chunked_transfer() 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 content_length.client to -1, skips pull_client_data_chunked(), 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.

Executive ViewAI

Why It Matters

Tinyproxy versions through 1.11.3 contain an HTTP request smuggling vulnerability that allows unauthenticated remote attackers to exhaust backend worker resources and bypass security controls, potentially disrupting proxy services and enabling downstream attacks against protected backends. Organizations running Tinyproxy in production should treat this as a network-facing security gap that could enable denial-of-service campaigns or cache poisoning attacks.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Deploy request header normalization at network ingress to reject or rewrite non-RFC-compliant Transfer-Encoding headers before reaching Tinyproxy; (2) implement backend-level connection limits and request timeouts to reduce worker exhaustion impact; (3) restrict Tinyproxy network exposure using firewall rules or internal-only routing; (4) enable detailed request logging to detect anomalous header patterns indicative of smuggling attempts.

Threat Intelligence Overview

EPSS Score
0.0%
Top 86% exploitable
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: High

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy