tornado
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
Activity
- Latest release
- 1mo ago
- Total releases
- 84
- Cadence
- ~30 days
- Last 12 months
- 6
Reach
- Stars
- 22.2k
Details
- License
- Apache-2.0
- First release
- May 18, 2010
| Version | Released | |
|---|---|---|
6.5.8
patch
| ||
6.5.7
patch
3 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-wwv5-g3v4-889x
Sep 01, 2026
Tornado: Incomplete fix for CVE-2026-35536: cookie attribute injection re-opened via the legacy case-insensitive `**kwargs` path in `set_cookie`
Low
Network
Low
None
SummaryThe CVE-2026-35536 fix added a validation loop that rejects
The patch's regression test ( Affected code
Steps to reproduce
ImpactInjection of independent cookie attributes (force/drop Suggested remediationApply the same CreditReported as part of an incomplete-patch measurement study (responsible disclosure). Affected versions
6.5.5
6.5.6
6.5.7
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev | ||
6.5.6
patch
4 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-wwv5-g3v4-889x
Sep 01, 2026
Tornado: Incomplete fix for CVE-2026-35536: cookie attribute injection re-opened via the legacy case-insensitive `**kwargs` path in `set_cookie`
Low
Network
Low
None
SummaryThe CVE-2026-35536 fix added a validation loop that rejects
The patch's regression test ( Affected code
Steps to reproduce
ImpactInjection of independent cookie attributes (force/drop Suggested remediationApply the same CreditReported as part of an incomplete-patch measurement study (responsible disclosure). Affected versions
6.5.5
6.5.6
6.5.7
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-pw6j-qg29-8w7f
Jun 15, 2026
Tornado: CurlAsyncHTTPClient leaks per-request credentials on handle reuse
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
CurlAsyncHTTPClient leaks per-request credentials on handle reuseSummary
DetailsIn Vector A — client TLS certificate (
A request that sets Vector B — proxy credentials (
A request that sets a new The same class also affects PoCBoth reproduce against the pinned release using public API only
( Vector A — client TLS certificateThe two servers listen on different ports, so request B opens a fresh TCP+TLS connection; the certificate can only reach server 2 via the persisted handle option, not connection or session reuse.
Output (
Vector B — proxy credentialsEach proxy is a separate listener capturing the raw request bytes.
Output (
Impact
Proposed CWE: CWE-200 / CWE-672. Proposed CVSS 3.1:
MitigationA single fix closes all instances of this class: call Alternatively, add explicit clearing branches mirroring the existing
Until a fix is available, use a separate Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 70 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5b1
Fixed in
6.5.7
References Updated Sep 10, 2026 · Source: OSV.dev | ||
6.5.5
patch
7 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-wwv5-g3v4-889x
Sep 01, 2026
Tornado: Incomplete fix for CVE-2026-35536: cookie attribute injection re-opened via the legacy case-insensitive `**kwargs` path in `set_cookie`
Low
Network
Low
None
SummaryThe CVE-2026-35536 fix added a validation loop that rejects
The patch's regression test ( Affected code
Steps to reproduce
ImpactInjection of independent cookie attributes (force/drop Suggested remediationApply the same CreditReported as part of an incomplete-patch measurement study (responsible disclosure). Affected versions
6.5.5
6.5.6
6.5.7
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-49853
PYSEC-2026-3387
GHSA-3x9g-8vmp-wqvf
Jul 13, 2026
Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
7.7
/ 10
High
Network
Low
Low
None
Changed
High
None
None
SummaryWhen SimpleAsyncHTTPClient follows a 3xx redirect, it shallow-copies the original HTTPRequest, rewrites the URL, decrements max_redirects, and removes only the Host header. It does not clear Authorization, auth_username, auth_password, or auth_mode when the redirect target changes origin. As a result, credentials intended for one origin can be forwarded to a different origin when follow_redirects=True, which is the default. Beginning in Tornado 6.5.6, Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49855
PYSEC-2026-3389
GHSA-mgf9-4vpg-hj56
Jul 13, 2026
tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Tornado's gzip decompression routines work in limited-size chunks, but have no overall limit for the total size of decompressed chunks that they will accumulate (There has always been a limit for the total compressed size). This allows a malicious server to consume effectively unlimited amounts of memory if it is accessed via SimpleAsyncHTTPClient in its default configuration. This bug is fixed in Tornado 6.5.6. Prior to upgrading, this issue can be mitigated by setting Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49854
PYSEC-2026-3388
GHSA-cx3h-4qpv-8hc9
Jul 13, 2026
Tornado has out-of-bounds memory access via C extension
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
SummaryTornado's optional native extension The behavior is reachable from Tornado's XSRF token decoder when MitigationsThis bug is fixed in Tornado 6.5.6. Prior to upgrading to this version, setting the environment variable TORNADO_EXTENSION=0 will disable the vulnerable code (at the expense of reducing websocket performance). Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References
Updated Jul 13, 2026 · Source: OSV.dev
GHSA-pw6j-qg29-8w7f
Jun 15, 2026
Tornado: CurlAsyncHTTPClient leaks per-request credentials on handle reuse
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
CurlAsyncHTTPClient leaks per-request credentials on handle reuseSummary
DetailsIn Vector A — client TLS certificate (
A request that sets Vector B — proxy credentials (
A request that sets a new The same class also affects PoCBoth reproduce against the pinned release using public API only
( Vector A — client TLS certificateThe two servers listen on different ports, so request B opens a fresh TCP+TLS connection; the certificate can only reach server 2 via the persisted handle option, not connection or session reuse.
Output (
Vector B — proxy credentialsEach proxy is a separate listener capturing the raw request bytes.
Output (
Impact
Proposed CWE: CWE-200 / CWE-672. Proposed CVSS 3.1:
MitigationA single fix closes all instances of this class: call Alternatively, add explicit clearing branches mirroring the existing
Until a fix is available, use a separate Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 70 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5b1
Fixed in
6.5.7
References Updated Sep 10, 2026 · Source: OSV.dev | ||
6.5.4
patch
8 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-49853
PYSEC-2026-3387
GHSA-3x9g-8vmp-wqvf
Jul 13, 2026
Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
7.7
/ 10
High
Network
Low
Low
None
Changed
High
None
None
SummaryWhen SimpleAsyncHTTPClient follows a 3xx redirect, it shallow-copies the original HTTPRequest, rewrites the URL, decrements max_redirects, and removes only the Host header. It does not clear Authorization, auth_username, auth_password, or auth_mode when the redirect target changes origin. As a result, credentials intended for one origin can be forwarded to a different origin when follow_redirects=True, which is the default. Beginning in Tornado 6.5.6, Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49855
PYSEC-2026-3389
GHSA-mgf9-4vpg-hj56
Jul 13, 2026
tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Tornado's gzip decompression routines work in limited-size chunks, but have no overall limit for the total size of decompressed chunks that they will accumulate (There has always been a limit for the total compressed size). This allows a malicious server to consume effectively unlimited amounts of memory if it is accessed via SimpleAsyncHTTPClient in its default configuration. This bug is fixed in Tornado 6.5.6. Prior to upgrading, this issue can be mitigated by setting Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49854
PYSEC-2026-3388
GHSA-cx3h-4qpv-8hc9
Jul 13, 2026
Tornado has out-of-bounds memory access via C extension
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
SummaryTornado's optional native extension The behavior is reachable from Tornado's XSRF token decoder when MitigationsThis bug is fixed in Tornado 6.5.6. Prior to upgrading to this version, setting the environment variable TORNADO_EXTENSION=0 will disable the vulnerable code (at the expense of reducing websocket performance). Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References
Updated Jul 13, 2026 · Source: OSV.dev
GHSA-pw6j-qg29-8w7f
Jun 15, 2026
Tornado: CurlAsyncHTTPClient leaks per-request credentials on handle reuse
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
CurlAsyncHTTPClient leaks per-request credentials on handle reuseSummary
DetailsIn Vector A — client TLS certificate (
A request that sets Vector B — proxy credentials (
A request that sets a new The same class also affects PoCBoth reproduce against the pinned release using public API only
( Vector A — client TLS certificateThe two servers listen on different ports, so request B opens a fresh TCP+TLS connection; the certificate can only reach server 2 via the persisted handle option, not connection or session reuse.
Output (
Vector B — proxy credentialsEach proxy is a separate listener capturing the raw request bytes.
Output (
Impact
Proposed CWE: CWE-200 / CWE-672. Proposed CVSS 3.1:
MitigationA single fix closes all instances of this class: call Alternatively, add explicit clearing branches mirroring the existing
Until a fix is available, use a separate Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 70 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5b1
Fixed in
6.5.7
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-35536
GHSA-fqwm-6jpj-5wxc
GHSA-78cv-mqj4-43f7
PYSEC-2026-2287
Apr 03, 2026
Tornado has cookie attribute injection via .RequestHandler.set_cookie
7.2
/ 10
High
Network
Low
None
None
Changed
Low
Low
None
In Tornado before 6.5.5, cookie attribute injection could occur because the domain, path, and samesite arguments to Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 68 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5b1
Fixed in
6.5.5
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-31958
GHSA-qjxf-f2mg-c6mc
PYSEC-2026-140
Mar 12, 2026
Tornado is vulnerable to DoS due to too many multipart parts
High
Network
Low
None
None
In versions of Tornado prior to 6.5.5, the only limit on the number of parts in Tornado 6.5.5 introduces new limits on the size and complexity of multipart bodies, including a default limit of 100 parts per request. These limits are configurable if needed; see Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 68 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5b1
Fixed in
6.5.5
References
Updated Sep 10, 2026 · Source: OSV.dev | ||
6.5.3
patch
8 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-49853
PYSEC-2026-3387
GHSA-3x9g-8vmp-wqvf
Jul 13, 2026
Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
7.7
/ 10
High
Network
Low
Low
None
Changed
High
None
None
SummaryWhen SimpleAsyncHTTPClient follows a 3xx redirect, it shallow-copies the original HTTPRequest, rewrites the URL, decrements max_redirects, and removes only the Host header. It does not clear Authorization, auth_username, auth_password, or auth_mode when the redirect target changes origin. As a result, credentials intended for one origin can be forwarded to a different origin when follow_redirects=True, which is the default. Beginning in Tornado 6.5.6, Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49855
PYSEC-2026-3389
GHSA-mgf9-4vpg-hj56
Jul 13, 2026
tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Tornado's gzip decompression routines work in limited-size chunks, but have no overall limit for the total size of decompressed chunks that they will accumulate (There has always been a limit for the total compressed size). This allows a malicious server to consume effectively unlimited amounts of memory if it is accessed via SimpleAsyncHTTPClient in its default configuration. This bug is fixed in Tornado 6.5.6. Prior to upgrading, this issue can be mitigated by setting Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-49854
PYSEC-2026-3388
GHSA-cx3h-4qpv-8hc9
Jul 13, 2026
Tornado has out-of-bounds memory access via C extension
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
SummaryTornado's optional native extension The behavior is reachable from Tornado's XSRF token decoder when MitigationsThis bug is fixed in Tornado 6.5.6. Prior to upgrading to this version, setting the environment variable TORNADO_EXTENSION=0 will disable the vulnerable code (at the expense of reducing websocket performance). Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 69 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5b1
Fixed in
6.5.6
References
Updated Jul 13, 2026 · Source: OSV.dev
GHSA-pw6j-qg29-8w7f
Jun 15, 2026
Tornado: CurlAsyncHTTPClient leaks per-request credentials on handle reuse
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
CurlAsyncHTTPClient leaks per-request credentials on handle reuseSummary
DetailsIn Vector A — client TLS certificate (
A request that sets Vector B — proxy credentials (
A request that sets a new The same class also affects PoCBoth reproduce against the pinned release using public API only
( Vector A — client TLS certificateThe two servers listen on different ports, so request B opens a fresh TCP+TLS connection; the certificate can only reach server 2 via the persisted handle option, not connection or session reuse.
Output (
Vector B — proxy credentialsEach proxy is a separate listener capturing the raw request bytes.
Output (
Impact
Proposed CWE: CWE-200 / CWE-672. Proposed CVSS 3.1:
MitigationA single fix closes all instances of this class: call Alternatively, add explicit clearing branches mirroring the existing
Until a fix is available, use a separate Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 70 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5b1
Fixed in
6.5.7
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-35536
GHSA-fqwm-6jpj-5wxc
GHSA-78cv-mqj4-43f7
PYSEC-2026-2287
Apr 03, 2026
Tornado has cookie attribute injection via .RequestHandler.set_cookie
7.2
/ 10
High
Network
Low
None
None
Changed
Low
Low
None
In Tornado before 6.5.5, cookie attribute injection could occur because the domain, path, and samesite arguments to Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 68 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5b1
Fixed in
6.5.5
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-31958
GHSA-qjxf-f2mg-c6mc
PYSEC-2026-140
Mar 12, 2026
Tornado is vulnerable to DoS due to too many multipart parts
High
Network
Low
None
None
In versions of Tornado prior to 6.5.5, the only limit on the number of parts in Tornado 6.5.5 introduces new limits on the size and complexity of multipart bodies, including a default limit of 100 parts per request. These limits are configurable if needed; see Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 68 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5b1
Fixed in
6.5.5
References
Updated Sep 10, 2026 · Source: OSV.dev | ||
6.5.2
patch
11 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.5.1
patch
11 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.5
minor
11 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.5b1
pre
12 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.4.2
patch
12 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.4.1
patch
13 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.4
minor
15 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.4b1
pre
15 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.3.3
patch
15 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.3.2
patch
16 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.3.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.3
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.3b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.2
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.2b2
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.2b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.1
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.1b2
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.1b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0.4
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0.3
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0.2
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0
major
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
6.0a1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.1.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.1
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.1b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.0.2
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.0.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.0
major
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.0b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5.3
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
5.0a1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5.2
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5b2
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.4.3
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.5b1
pre
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.4.2
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.4.1
patch
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
| ||
4.4
minor
17 CVEs
CVE-2026-82397
PYSEC-2026-3928
GHSA-mpf4-983q-p7j4
Sep 10, 2026
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryTornado parses Where it is
The path to it is entirely server-side and pre-dispatch. The size that reaches it is bounded only by the body cap, which defaults to the stream's ImpactDenial of service against the whole process, not one request. Tornado is single-threaded and the parse is synchronous on the event loop, so every other connection waits. No authentication is needed if any route accepts a form post, which is the normal case. Suggested fixPass a bound:
with a conservative default and a way for applications to raise it. CPython raises Lowering the default body cap for urlencoded specifically would help too, since 100 MB of form fields is not a shape any real client sends. Why I do not think this is a duplicateThe published tornado advisories cover out-of-bounds access in the C extension, unbounded accumulation of decompressed chunks in Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
GHSA-8423-8fgw-73vq
Sep 01, 2026
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Medium
Network
Low
None
None
DescriptionSummary
Root cause
PoCgist: https://gist.github.com/afldl/649861f25d39b53b7edbe0298e171617
FixCount separators without materializing the list (e.g. CreditReported by afldl, 2026-07. Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 71 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5b1
Fixed in
6.5.8
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-67726
GHSA-jhmp-mqwm-3gq8
PYSEC-2025-267
Jul 20, 2026
Tornado: Quadratic DoS via Crafted Multipart Parameters
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe As a result, if an attacker sends a request with a large number of maliciously crafted parameters in a Severity: High Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67725
GHSA-c98p-7wgm-6p64
PYSEC-2025-266
Jul 20, 2026
Tornado: Quadratic DoS via Repeated Header Coalescing
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe Given Tornado's single event loop architecture, a single maliciously crafted HTTP request can block the server's event loop for an extended period, causing a Denial of Service (DoS). Severity: High if Affected versions
0.2
1.0
1.1
1.1.1
1.2
1.2.1
2.0
2.1
2.1.1
2.2
2.2.1
2.3
+ 66 more Show less
2.4
2.4.1
3.0
3.0.1
3.0.2
3.1
3.1.1
3.2
3.2.1
3.2.2
4.0
4.0.1
4.0.2
4.1
4.1b2
4.2
4.2.1
4.2b1
4.3
4.3b1
4.3b2
4.4
4.4.1
4.4.2
4.4.3
4.4b1
4.5
4.5.1
4.5.2
4.5.3
4.5b1
4.5b2
5.0
5.0.1
5.0.2
5.0a1
5.0b1
5.1
5.1.1
5.1b1
6.0
6.0.1
6.0.2
6.0.3
6.0.4
6.0a1
6.0b1
6.1
6.1b1
6.1b2
6.2
6.2b1
6.2b2
6.3
6.3.1
6.3.2
6.3.3
6.3b1
6.4
6.4.1
6.4.2
6.4b1
6.5
6.5.1
6.5.2
6.5b1
Fixed in
6.5.3
References
Updated Jul 20, 2026 · Source: OSV.dev
CVE-2025-67724
GHSA-pr2v-jx2c-wg9f
PYSEC-2025-265
Jul 20, 2026
Tornado vulnerable to Header Injection and XSS via reason argument
5.4
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
Low
None
Header injection and XSS via
|