{"id":"CVE-2026-82397","title":"Tornado is a Python web framework and asynchronous networking library","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. Reques…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cwe":["CWE-400","CWE-1284"],"vendor":"tornado","product":"tornado","affected":["tornado <= 6.5.7"],"patched":["tornado 6.5.8"],"published":"2026-08-31","updated":"2026-09-09","sourceUpdated":"2026-09-09T21:09:13.080","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-82397","references":[{"url":"https://github.com/tornadoweb/tornado/commit/8d6363ed7b69d5f0da806efe34d256627a2191de","label":"security-advisories@github.com"},{"url":"https://github.com/tornadoweb/tornado/pull/3704","label":"security-advisories@github.com"},{"url":"https://github.com/tornadoweb/tornado/releases/tag/v6.5.8","label":"security-advisories@github.com"},{"url":"https://github.com/tornadoweb/tornado/security/advisories/GHSA-mpf4-983q-p7j4","label":"security-advisories@github.com"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-82397"},{"url":"https://github.com/advisories/GHSA-mpf4-983q-p7j4"},{"url":"https://github.com/tornadoweb/tornado"},{"url":"https://pypi.org/project/tornado"}],"tags":["nvd","ghsa","pip","osv"],"epss":0.0035,"epssPercentile":0.28635,"aliases":["GHSA-mpf4-983q-p7j4","PYSEC-2026-3928"],"ecosystem":"pip","ingestedAt":"2026-09-02T14:45:29.925Z","slug":"CVE-2026-82397","body":"## Overview\n\nTornado 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-82397)\n\nAffected packages:\n\n- `tornado <= 6.5.7`\n\nPatched in:\n\n- `tornado 6.5.8`\n\nSource: https://github.com/advisories/GHSA-mpf4-983q-p7j4","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}