Skip to content
Fencer Vulns
high 7.5

CVE-2026-82397 json

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

published 2026-08-31 2 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-68892 , GHSA-mpf4-983q-p7j4 , PYSEC-2026-3928

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 28%
public exploits
0
none known

Summary

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.

Patch / fix

  • pypi tornado 6.5.8
  • tornadoweb tornado 6.5.8
  • pcs RHEL 8 0.10.18-2.el8_10.10
  • pcs-snmp RHEL 8 0.10.18-2.el8_10.10
  • python-tornado RHEL 10.2 6.5.8-0.el10_2.1
  • python3-tornado RHEL 10.2 6.5.8-0.el10_2.1
  • python-tornado RHEL 9 6.5.8-0.el9_8.1
  • python3-tornado RHEL 9 6.5.8-0.el9_8.1
  • pcs RHEL 8.6 EUS_LONG_LIFE 0.10.12-6.el8_6.14
  • pcs-snmp RHEL 8.6 EUS_LONG_LIFE 0.10.12-6.el8_6.14

red hat advisories RHSA-2026:85135RHSA-2026:84844RHSA-2026:84843RHSA-2026:84798RHSA-2026:67147RHSA-2026:67146

  • python-tornado6 SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.5-160000.7.1
  • python-tornado6 SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 6.3.2-150400.9.24.1
  • python-tornado SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +11 more 4.5.3-150000.3.28.1
  • python-tornado6 Linux Micro 6.1 6.4-slfo.1.1_7.1

suse advisories SUSE-SU-2026:24121-1SUSE-SU-2026:24207-1SUSE-SU-2026:4076-1SUSE-SU-2026:4073-1SUSE-SU-2026:23523-1

  • python-tornado6 openSUSE Leap 16.0 6.5-160000.7.1

opensuse advisories openSUSE-SU-2026:22059-1

  • pcs AlmaLinux 8 0.10.18-2.el8_10.10.alma.1
  • pcs-snmp AlmaLinux 8 0.10.18-2.el8_10.10.alma.1
  • python3-tornado AlmaLinux 9 6.5.8-0.el9_8.1
  • python3-tornado AlmaLinux 10 6.5.8-0.el10_2.1

almalinux advisories ALSA-2026:84798ALSA-2026:67146ALSA-2026:67147

  • pcs Rocky Linux 8 0.10.18-2.el8_10.10

rocky linux advisories RLSA-2026:84798

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-82397 updated cvss 7.5

python-tornado: Tornado: Denial of Service via excessive URL-encoded body fields

  • Red Hat Lightspeed Core lightspeed-core/rag-tool-cpu-rhel9, lightspeed-core/lightspeed-stack-rhel9, lightspeed-core/rag-tool-cuda-12.9-rhel9
    affected: workaround, no fix available “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.”
  • Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9
    affected: workaround, no fix planned “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.”
  • Red Hat Ansible Automation Platform 2 ansible-automation-platform-26/lightspeed-chatbot-rhel9, ansible-automation-platform-27/lightspeed-chatbot-rhel9 Red Hat Enterprise Linux 7 python-tornado
    affected: workaround, no fix available “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.”
  • Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-gaudi-rhel9, rhelai3/disk-image-cuda-rhel9
    affected: workaround, no fix available, no fix planned “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-llama-stack-core-rhel9 Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9 Red Hat OpenStack Platform 16.2 rhosp-rhel8/openstack-redis, rhosp-rhel8/openstack-haproxy, rhosp-rhel8/openstack-mariadb, rhosp-rhel8/openstack-rabbitmq, rhosp-rhel8/openstack-ovn-northd, rhosp-rhel8/openstack-manila-share, +2 more Red Hat OpenStack Platform 17.1 rhosp-rhel9/openstack-redis, rhosp-rhel9/openstack-haproxy, rhosp-rhel9/openstack-mariadb, rhosp-rhel9/openstack-rabbitmq, rhosp-rhel9/openstack-ovn-northd, rhosp-rhel9/openstack-manila-share, +2 more
    affected: workaround, no fix available “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.”
  • Red Hat Enterprise Linux AppStream (v. 9) python-tornado 6.5.8-0.el9_8.1, python3-tornado 6.5.8-0.el9_8.1
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:67146
  • Red Hat Enterprise Linux AppStream (v. 10) python-tornado 6.5.8-0.el10_2.1, python3-tornado 6.5.8-0.el10_2.1
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:67147
  • Red Hat Enterprise Linux AppStream EUS (v. 10.0) python-tornado 6.5.8-0.el10_0.1, python3-tornado 6.5.8-0.el10_0.1
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:80741
show 14 more
  • Red Hat Enterprise Linux High Availability AUS (v.8.4) pcs 0.10.8-1.el8_4.12, pcs-snmp 0.10.8-1.el8_4.12
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84843
  • Red Hat Enterprise Linux High Availability E4S (v.8.8) pcs 0.10.15-4.el8_8.12, pcs-snmp 0.10.15-4.el8_8.12
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84844
  • Red Hat Enterprise Linux High Availability EUS EXTENSION (v.8.6) pcs 0.10.12-6.el8_6.14, pcs-snmp 0.10.12-6.el8_6.14
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:85135
  • Red Hat Enterprise Linux High Availability TUS (v.8.8) pcs 0.10.15-4.el8_8.12, pcs-snmp 0.10.15-4.el8_8.12
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84844
  • Red Hat Enterprise Linux HighAvailability (v. 8) pcs 0.10.18-2.el8_10.10, pcs-snmp 0.10.18-2.el8_10.10
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84798
  • Red Hat Enterprise Linux HighAvailability EUS EXTENSION (v.8.4) pcs 0.10.8-1.el8_4.12, pcs-snmp 0.10.8-1.el8_4.12
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84843
  • Red Hat Enterprise Linux ResilientStorage (v. 8) pcs 0.10.18-2.el8_10.10, pcs-snmp 0.10.18-2.el8_10.10
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84798
  • Red Hat OpenShift AI 2.25 rhoai/odh-feature-server-rhel9 1792148523
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:87410
  • Red Hat OpenShift AI 3.4 rhoai/odh-feature-server-rhel9 1791863220, rhoai/odh-th06-cpu-torch210-py312-rhel9 1793084640, rhoai/odh-th06-rocm64-torch291-py312-rhel9 1792745990, rhoai/odh-th06-cuda130-torch210-py312-rhel9 1792748650, rhoai/odh-trustyai-nemo-guardrails-server-rhel9 1791556128
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:84734
  • Red Hat OpenShift AI 3.5 rhoai/odh-th-torch-cpu-py312-rhel9 1791926611, rhoai/odh-th-torch-cuda-py312-rhel9 1791927642, rhoai/odh-th-torch-rocm-py312-rhel9 1791925861, rhoai/odh-pipeline-runtime-minimal-cpu-py312-rhel9 1791572004, rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9 1791816462, rhoai/odh-pipeline-runtime-pytorch-rocm-py312-rhel9 1791951049, +15 more
    fixed: vendor fix “Restrict request payload sizes or maximum form field counts at an upstream web application firewall (WAF) or reverse proxy layer before HTTP requests reach the Tornado application worker.” RHSA-2026:86891
  • Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9
    not affected: vulnerable code not present
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch291-py312-rhel9
    not affected: component not present
  • Red Hat OpenShift AI 2.25 rhoai/odh-rhel9-operator 1792570619, rhoai/odh-vllm-cpu-rhel9 1792018436, rhoai/odh-dashboard-rhel9 1791853525, rhoai/odh-modelmesh-rhel9 1790881700, rhoai/odh-operator-bundle 1792571069, rhoai/odh-vllm-cuda-rhel9 1791358976, +65 more Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/odh-cli-rhel9 1792722177, rhoai/rhai-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1792722177, rhoai/odh-automl-rhel9 1791535789, rhoai/odh-automl-rhel9 1792697253, +201 more Red Hat OpenShift AI 3.5 rhoai/odh-cli-rhel9 1791945905, rhoai/rhai-cli-rhel9 1791945905, rhoai/odh-automl-rhel9 1791916705, rhoai/odh-mlflow-rhel9 1791947857, rhoai/odh-autorag-rhel9 1791903266, rhoai/odh-trainer-rhel9 1791952138, +92 more
    not affected: vulnerable code not present
  • Red Hat OpenShift Container Platform 4 python-tornado, python-flit 3.9.0-3.1.el9ocp, python-pep517 0.13.0-5.2.el9ocp
    not affected: component not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
partial
Assessed
2 mo ago

Exploit prediction

0.35% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
OSV 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
pypi tornado
<6.5.8
6.5.8

Affected products

  • tornadoweb tornado

Classification

Weakness
  • CWE-400 Uncontrolled Resource Consumption
  • CWE-1284 Improper Validation of Specified Quantity in Input

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.