Lucene search
K

Python Library Tornado < 6.5.6 Multiple Vulnerabilities

🗓️ 19 Jun 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 6 Views

Tornado version older than 6.5.6 is vulnerable to credential leakage on redirects and unbounded memory use from gzip decompression.

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

include('compat.inc');

if (description)
{
  script_id(321525);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/06/22");

  script_cve_id("CVE-2026-49853", "CVE-2026-49855");
  script_xref(name:"IAVB", value:"2026-B-0166");

  script_name(english:"Python Library Tornado < 6.5.6 Multiple Vulnerabilities");

  script_set_attribute(attribute:"synopsis", value:
"A Python library installed on the remote host is affected by multiple vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of the Tornado Python library installed on the remote host is prior to 6.5.6. It is, therefore,
affected by multiple vulnerabilities:

  - When SimpleAsyncHTTPClient follows a 3xx redirect, it shallow-copies the original HTTPRequest, rewrites
    the URL, decrements max_redirects, and removes only the Host header. It does not clear Authorization,
    auth_username, auth_password, or auth_mode when the redirect target changes origin. As a result,
    credentials intended for one origin can be forwarded to a different origin when follow_redirects=True,
    which is the default. (CVE-2026-49853)

  - Tornado's gzip decompression routines work in limited-size chunks, but have no overall limit for the
    total size of decompressed chunks that they will accumulate (There has always been a limit for the total
    compressed size). This allows a malicious server to consume effectively unlimited amounts of memory if
    it is accessed via SimpleAsyncHTTPClient in its default configuration. (CVE-2026-49855)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported
version number.");
  # https://github.com/tornadoweb/tornado/security/advisories/GHSA-3x9g-8vmp-wqvf
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?59b729ba");
  # https://github.com/tornadoweb/tornado/security/advisories/GHSA-mgf9-4vpg-hj56
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a7552069");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Tornado version 6.5.6 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:L/UI:N/S:C/C:H/I:N/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-49855");
  script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2026-49853");

  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/05/27");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/05/27");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/06/19");

  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:"stig_severity", value:"I");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  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_tornado_detect.nbin");
  script_require_keys("installed_sw/tornado");

  exit(0);
}

include('vdf.inc');

# @tvdl-content
var vuln_data = {
  'metadata': {'spec_version': '1.0'},
  'checks': [
    {
      'product': {'name': 'tornado', 'type': 'app'},
      'check_algorithm': 'default',
      'constraints': [
        {'fixed_version': '6.5.6'}
      ]
    }
  ]
};

var result = vdf::check_and_report(vuln_data:vuln_data, check_backporting:TRUE, severity:SECURITY_HOLE);
vdf::handle_check_and_report_errors(vdf_result:result);

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

22 Jun 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
EPSS0.00052
6