CVE-2026-82397 Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop

High 7.5 Published Updated

An unauthenticated attacker can stall the Tornado event loop by sending a request with millions of form fields, causing denial of service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-82397?

CVE-2026-82397 is a high-severity denial of service vulnerability in tornadoweb tornado, published on 31 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.8, Tornado parses application/x-www-form-urlencoded request bodies with urllib.parse.parse_qs in tornado/escape.py without passing max_num_fields. RequestHandler._execute in tornado/web.py parses the body before handler dispatch through HTTPServerRequest._parse_body and parse_body_arguments in tornado/httputil.py, so an unauthenticated request body containing millions of separator-delimited fields can synchronously stall the single-threaded event loop and delay every connection. The body is bounded only by max_buffer_size, which defaults to 104857600 bytes. This issue is fixed in version 6.5.8.

Weakness: CWE-400, CWE-1284

Which versions are affected by CVE-2026-82397?

3 open source packages ship an affected version, including tornado.

PackageAffectedFixed in
tornado PyPIAll versions6.5.8
tornado PyPIAll versions6.5.8
tornado PyPIAll versions6.5.8
Linux distribution packages (26)
python-tornado SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Micro 5.3All versions4.5.3-150000.3.28.1
python-tornado SUSE:Linux Enterprise Micro 5.4All versions4.5.3-150000.3.28.1
python-tornado SUSE:Linux Enterprise Micro 5.5All versions4.5.3-150000.3.28.1
python-tornado SUSE:Linux Enterprise Module for Basesystem 15 SP7All versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Module for Python 3 15 SP7All versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server 15 SP4-LTSSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server 15 SP4-LTSSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server 15 SP5-LTSSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server 15 SP5-LTSSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server 15 SP6-LTSSAll versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server 15 SP6-LTSSAll versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server for SAP Applications 15 SP4All versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server for SAP Applications 15 SP4All versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server for SAP Applications 15 SP5All versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server for SAP Applications 15 SP5All versions6.3.2-150400.9.24.1
python-tornado SUSE:Linux Enterprise Server for SAP Applications 15 SP6All versions4.5.3-150000.3.28.1
python-tornado6 SUSE:Linux Enterprise Server for SAP Applications 15 SP6All versions6.3.2-150400.9.24.1
python-tornado6 SUSE:Linux Micro 6.1All versions6.4-slfo.1.1_7.1

How do I fix CVE-2026-82397?

Upgrade tornado to 6.5.8 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-82397 being exploited?

There is no known exploitation of CVE-2026-82397 in the wild and no public exploit code.

Sources

Also known as AZL-98544, BELL-CVE-2026-82397, CLEANSTART-2026-CX71098, CLEANSTART-2026-QT13587, CLEANSTART-2026-TA08611, CLEANSTART-2026-TZ94047 and 35 more.

Is CVE-2026-82397 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free