PHP2Shell : See if you’re affected with a free external attack surface scan. Click Here > 

New CVE Detected

CVE-2023-54397 – HTTP Request Smuggling – Tornado (TornadoServer) before 6.3.3

Be the first to know when new zero-days emerge:

Summary

CVE-2023-54397 is an HTTP request smuggling vulnerability in the Tornado Python web framework (TornadoServer), caused by improper parsing of Content-Length header values and chunk lengths. It affects all versions of Tornado prior to 6.3.3. When Tornado is deployed behind certain reverse proxies or load balancers, the flaw can allow an attacker to smuggle unauthorized requests past proxy-layer security controls.

Technical details

  • Root cause: Tornado uses Python’s int() constructor to parse Content-Length header values and chunked-transfer chunk-size fields. Python’s int() accepts non-standard characters — such as dashes, plus signs, and underscores — that HTTP RFCs forbid in these fields.
  • Trigger condition: An attacker crafts an HTTP request containing a Content-Length (or chunk length) value with these non-standard characters. A front-end proxy that parses the value strictly (per RFC) disagrees with Tornado’s lenient parsing of the same value, causing the two components to interpret request boundaries differently.
  • Attack vector: Network — the request is sent directly over HTTP/HTTPS to an internet-facing Tornado application, typically one sitting behind a reverse proxy or load balancer. Older versions of HAProxy are noted as being susceptible to this discrepancy.
  • Impact: The parsing mismatch enables HTTP request smuggling, allowing an attacker to inject or splice requests, potentially bypassing proxy-enforced access controls, poisoning caches, or affecting other users’ requests processed through the same connection.

Affected software

  • Tornado (tornadoweb/tornado), all versions prior to 6.3.3
  • Fixed in Tornado 6.3.3 and later

Severity

  • CVSS v3.1 Base Score: 7.5 (High) — Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N
  • CVSS v4.0 Base Score: 9.0 (Critical) — Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:L/SI:H/SA:N

Mitigation and recommended actions

  • Immediate: Upgrade Tornado to version 6.3.3 or later, which corrects the header and chunk-length parsing to reject non-standard characters.
  • If immediate patching is not possible: Ensure any reverse proxy, load balancer, or CDN placed in front of the Tornado application enforces strict RFC-compliant parsing of Content-Length and chunked-encoding values, and rejects requests containing non-numeric characters in these fields. Confirm proxy software (e.g., HAProxy) is running a version not susceptible to this parsing discrepancy.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge