What’s Vulnerable › Vulnerabilities
CVE-2026-31958: Tornado has a DoS due to too many multipart parts
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-03-11 · updated 2026-06-17
- Weakness: CWE-400
Description
Tornado is a Python web framework and asynchronous networking library. In versions of Tornado prior to 6.5.5, the only limit on the number of parts in multipart/form-data is the max_body_size setting (default 100MB). Since parsing occurs synchronously on the main thread, this creates the possibility of denial-of-service due to the cost of parsing very large multipart bodies with many parts. This vulnerability is fixed in 6.5.5.
Affected products
- tornadoweb tornado: before 6.5.5 — fixed in 6.5.5
- Pypi Tornado: before 6.5.5; 0.2, 1.0, 1.1, 1.1.1, 1.2, 1.2.1 (+74) — fixed in 6.5.5
How to fix
Upgrade to a fixed version: tornadoweb tornado 6.5.5; Pypi Tornado 6.5.5. Check the vendor advisory for mitigations.
References
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-qjxf-f2mg-c6mc
- https://lists.debian.org/debian-lts-announce/2026/04/msg00000.html
Get alerted when CVE-2026-31958 or the next vulnerability affects your stack