Lucene search
+L

Python Library Tornado < 6.5.8 DoS (CVE-2026-82397)

🗓️ 10 Sep 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 7 Views

Unauthenticated DoS in Tornado < 6.5.8 via unbounded form-urlencoded parsing stalling event loop.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(344487);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/11");

  script_cve_id("CVE-2026-82397");
  script_xref(name:"IAVB", value:"2026-B-0248");

  script_name(english:"Python Library Tornado < 6.5.8 DoS (CVE-2026-82397)");

  script_set_attribute(attribute:"synopsis", value:
"A Python library installed on the remote host is affected by a denial of service vulnerability.");
  script_set_attribute(attribute:"description", value:
"The version of the Tornado Python package installed on the remote host is prior to 6.5.8. It is, therefore,
affected by a denial of service vulnerability:

  - 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. (CVE-2026-82397)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  # https://github.com/tornadoweb/tornado/security/advisories/GHSA-mpf4-983q-p7j4
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?bd977304");
  script_set_attribute(attribute:"see_also", value:"https://github.com/tornadoweb/tornado/releases/tag/v6.5.8");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Tornado version 6.5.8 or later.");
  script_set_attribute(attribute:"agent", value:"all");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-82397");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/08/31");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/08/06");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/10");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"asset_categories", value:"component");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:tornadoweb:tornado");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_set_attribute(attribute:"stig_severity", value:"I");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("python_packages_installed_nix.nbin", "python_packages_win_installed.nbin");
  script_require_ports("Host/nix/Python/Packages/Enumerated", "Host/win/Python/Packages/Enumerated");

  exit(0);
}

include('python.inc');

var pkg = 'Tornado';

var libs = python::get_package_info(pkg_name:pkg, cpe:"cpe:/a:tornadoweb:tornado");

if (empty_or_null(libs))
  audit(AUDIT_NOT_INST, pkg);

vcf::check_all_backporting(app_info:libs);

var constraints = [
  {'fixed_version': '6.5.8'}
];

vcf::check_version_and_report(
  app_info:libs,
  constraints:constraints,
  severity:SECURITY_HOLE
);

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation