<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Tornado Project - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/tornado-project/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 20 Jul 2026 18:58:57 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/tornado-project/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Tornado Web Server Quadratic DoS Vulnerability (CVE-2025-67726)</title><link>https://feed.craftedsignal.io/briefs/2026-07-20-tornado-quadratic-dos/</link><pubDate>Mon, 20 Jul 2026 18:58:57 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-20-tornado-quadratic-dos/</guid><description>A high-severity quadratic time complexity vulnerability (CVE-2025-67726) in Tornado's `_parseparam` function allows an attacker to cause a Denial of Service (DoS) by sending crafted `multipart/form-data` requests with malicious parameters in the `Content-Disposition` header to vulnerable Tornado web servers versions prior to 6.5.3.</description><content:encoded><![CDATA[<p>A high-severity Denial of Service (DoS) vulnerability, tracked as CVE-2025-67726, exists in the Tornado web framework, affecting versions prior to 6.5.3. This vulnerability stems from an inefficient algorithm within the <code>_parseparam</code> function located in <code>httputil.py</code>, which is responsible for parsing HTTP header values such as those found in <code>multipart/form-data</code> requests. Specifically, the function repeatedly calls <code>string.count()</code> within a nested loop when processing quoted semicolons (e.g., <code>param=&quot;;&quot;</code>). An attacker can exploit this by sending a crafted HTTP request containing a large number of such parameters in a <code>Content-Disposition</code> header. This triggers a quadratic increase (O(n²)) in server CPU usage during parsing. Due to Tornado's single event loop architecture, a single malicious request can render the entire server unresponsive for an extended period, leading to a complete DoS.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a web server running an unpatched Tornado instance, specifically versions prior to 6.5.3.</li>
<li>Attacker crafts a malicious HTTP request intended to exploit the <code>_parseparam</code> function.</li>
<li>The request includes a <code>Content-Disposition</code> header, typically found within <code>multipart/form-data</code> requests.</li>
<li>Within this <code>Content-Disposition</code> header, the attacker embeds a large quantity of specially crafted parameters.</li>
<li>These parameters are designed to leverage quoted semicolons (e.g., <code>filename=&quot;data;a=b;c=d;;&quot;</code>), which trigger the inefficient parsing logic.</li>
<li>Upon receiving the malicious request, the vulnerable Tornado server initiates parsing of the <code>Content-Disposition</code> header using the <code>_parseparam</code> function in <code>httputil.py</code>.</li>
<li>The quadratic time complexity (O(n²)) of <code>_parseparam</code> when processing these crafted parameters consumes excessive CPU resources.</li>
<li>Due to Tornado's single event loop architecture, the server becomes unresponsive to legitimate requests, resulting in a Denial of Service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2025-67726 leads to a complete Denial of Service for the affected Tornado web server. The server's CPU usage increases quadratically, rendering it unresponsive and unable to process legitimate requests. This can cause significant disruption to services, downtime, and potential data loss for applications reliant on the vulnerable Tornado instance. The impact is primarily on the availability of the web service.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch CVE-2025-67726 immediately by upgrading all Tornado installations to version 6.5.3 or later.</li>
<li>Implement a Web Application Firewall (WAF) or intrusion prevention system (IPS) capable of inspecting and blocking HTTP requests with abnormally large or malformed <code>Content-Disposition</code> headers containing repeated quoted semicolons, to mitigate attacks against CVE-2025-67726 before patching is complete.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>web-application</category><category>python</category></item></channel></rss>