Every CVE Search/ Get API key

CVE-2026-103262

Tornado before 6.5.9 Denial of Service via CurlAsyncHTTPClient

8.7 HighFix available

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.63%Up 0.1 points since Oct 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

Tornado before 6.5.9 Denial of Service via CurlAsyncHTTPClient

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
CVE-2026-103262
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
EUVDEUVD-2026-90656 8.7

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
EUVD-2026-90656
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-chx6-46f5-w4vp 7.5

tornado: CurlAsyncHTTPClient enforces no response-size limit — decompression bomb drives unbounded memory accumulation to OOM

An unbounded memory accumulation (decompression bomb) in tornado.curl_httpclient.CurlAsyncHTTPClient — the client-side sibling gap of CVE-2026-49855 — verified end-to-end on the 2026-08-15 master snapshot (6.6.dev1) and present unchanged in the latest release tag v6.5.8 and on master (checked 2026-08-17). When a Tornado application configures the curl client (the documented deployment for proxy support / advanced TLS options) and fetch()es an attacker-chosen or attacker-compromised URL with default decompress_response=True, a malicious server replying Content-Encoding: gzip with a ~2.8 MB wire bomb drove the client's RSS from 30,884 kB to 1,032,100 kB (~1008 MB) in 3.18 s (~350 MB/s, monotonic, no plateau) until the kernel OOM-killed the process (exit 137, cgroup OOMKilled=true) — with the transfer only 67% complete and no client-side size check ever intervening: curl_httpclient.py contains zero occurrences of max_body_size/MAXFILESIZE. The identical bomb against the default SimpleAsyncHTTPClient fails cleanly at ~65 MB, because every size gate CVE-2026-49855 added (compressed CL, chunked total, cumulative decompressed size — http1connection.py:620,676,742) lives in code the curl client never executes. This is a distinct component from the published advisory (which fixed _GzipMessageDelegate/SimpleAsyncHTTPClient only) and from the other curl-client advisories (credential handle-reuse GHSA-pw6j-qg29-8w7f, header CRLF GHSA-w235-7p84-xx57); the file's full commit history (latest 2026-06-17) shows no response-size work.

Details

tornado/curl_httpclient.py (line numbers identical on master 6.6.dev1, v6.5.8, and the audited snapshot):

"buffer": BytesIO(),                                  # :202 — plain BytesIO, no accounting
...
else:
    write_function = buffer.write                     # :359 — every decompressed byte lands here
curl.setopt(pycurl.WRITEFUNCTION, write_function)     # :360
...
if request.decompress_response:                       # default True (HTTPRequest)
    curl.setopt(pycurl.ENCODING, "gzip,deflate")      # :373-374 — libcurl advertises + auto-decodes

libcurl decompresses the response before invoking WRITEFUNCTION, so the callback receives decompressed bytes, which are appended to an unbounded BytesIO until the transfer ends or the process dies. The only ceiling is request_timeout (default 20 s) — at zlib's hundreds of MB/s that still permits many GB of accumulation; the PoC raised it to 300 s and the 1 GiB cgroup cap was hit in 3.2 s regardless. There is no pycurl.MAXFILESIZE, no max_buffer_size/max_body_size plumbing (the constructor accepts no body-size option), and streaming_callback users fare no better (the callback variant at :353-356 also performs zero accounting).

Contrast — SimpleAsyncHTTPClient path (tornado/http1connection.py), all absent from the curl path:

if cast(int, content_length) > self._max_body_size:        # :620  Content-Length gate
if total_size > self._max_body_size:                       # :676  chunked total gate
if self._decompressed_body_size > self._max_body_size:     # :742  CVE-2026-49855 decompressed gate

SimpleAsyncHTTPClient.initialize() defaults max_buffer_size = 104857600 (100 MiB) with max_body_size defaulting to it (simple_httpclient.py:117-121); CurlAsyncHTTPClient.initialize() has no corresponding parameter at all.

Attack chain (attacker = malicious HTTP server; victim = any Tornado app doing fetch() on attacker-influenced URLs — URL fetchers, webhook processors, link previewers, RSS/probe pollers):

  1. App configures AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient") (documented for proxy support; proxies are only supported with the curl client).
  2. App calls fetch("http://attacker/...") with defaults → request advertises Accept-Encoding: gzip,deflate.
  3. Attacker replies 200, `Content-Encoding:…
Record
GHSA-chx6-46f5-w4vp
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400, CWE-409
Updated
2026-11-02
GitHub AdvisoriesGHSA-h36x-fm6v-f9vx 8.7

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in...

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
GHSA-h36x-fm6v-f9vx
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
NVD 8.7

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
CVE-2026-103262
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
OSVBELL-CVE-2026-103262 7.5
Record
BELL-CVE-2026-103262
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 15 moreShow less
OSV 8.7

Tornado before 6.5.9 Denial of Service via CurlAsyncHTTPClient

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
CVE-2026-103262
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-409
Updated
2026-11-02
OSVDEBIAN-CVE-2026-103262 8.7

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
DEBIAN-CVE-2026-103262
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVGHSA-chx6-46f5-w4vp 7.5

tornado: CurlAsyncHTTPClient enforces no response-size limit — decompression bomb drives unbounded memory accumulation to OOM

An unbounded memory accumulation (decompression bomb) in tornado.curl_httpclient.CurlAsyncHTTPClient — the client-side sibling gap of CVE-2026-49855 — verified end-to-end on the 2026-08-15 master snapshot (6.6.dev1) and present unchanged in the latest release tag v6.5.8 and on master (checked 2026-08-17). When a Tornado application configures the curl client (the documented deployment for proxy support / advanced TLS options) and fetch()es an attacker-chosen or attacker-compromised URL with default decompress_response=True, a malicious server replying Content-Encoding: gzip with a ~2.8 MB wire bomb drove the client's RSS from 30,884 kB to 1,032,100 kB (~1008 MB) in 3.18 s (~350 MB/s, monotonic, no plateau) until the kernel OOM-killed the process (exit 137, cgroup OOMKilled=true) — with the transfer only 67% complete and no client-side size check ever intervening: curl_httpclient.py contains zero occurrences of max_body_size/MAXFILESIZE. The identical bomb against the default SimpleAsyncHTTPClient fails cleanly at ~65 MB, because every size gate CVE-2026-49855 added (compressed CL, chunked total, cumulative decompressed size — http1connection.py:620,676,742) lives in code the curl client never executes. This is a distinct component from the published advisory (which fixed _GzipMessageDelegate/SimpleAsyncHTTPClient only) and from the other curl-client advisories (credential handle-reuse GHSA-pw6j-qg29-8w7f, header CRLF GHSA-w235-7p84-xx57); the file's full commit history (latest 2026-06-17) shows no response-size work.

Details

tornado/curl_httpclient.py (line numbers identical on master 6.6.dev1, v6.5.8, and the audited snapshot):

"buffer": BytesIO(),                                  # :202 — plain BytesIO, no accounting
...
else:
    write_function = buffer.write                     # :359 — every decompressed byte lands here
curl.setopt(pycurl.WRITEFUNCTION, write_function)     # :360
...
if request.decompress_response:                       # default True (HTTPRequest)
    curl.setopt(pycurl.ENCODING, "gzip,deflate")      # :373-374 — libcurl advertises + auto-decodes

libcurl decompresses the response before invoking WRITEFUNCTION, so the callback receives decompressed bytes, which are appended to an unbounded BytesIO until the transfer ends or the process dies. The only ceiling is request_timeout (default 20 s) — at zlib's hundreds of MB/s that still permits many GB of accumulation; the PoC raised it to 300 s and the 1 GiB cgroup cap was hit in 3.2 s regardless. There is no pycurl.MAXFILESIZE, no max_buffer_size/max_body_size plumbing (the constructor accepts no body-size option), and streaming_callback users fare no better (the callback variant at :353-356 also performs zero accounting).

Contrast — SimpleAsyncHTTPClient path (tornado/http1connection.py), all absent from the curl path:

if cast(int, content_length) > self._max_body_size:        # :620  Content-Length gate
if total_size > self._max_body_size:                       # :676  chunked total gate
if self._decompressed_body_size > self._max_body_size:     # :742  CVE-2026-49855 decompressed gate

SimpleAsyncHTTPClient.initialize() defaults max_buffer_size = 104857600 (100 MiB) with max_body_size defaulting to it (simple_httpclient.py:117-121); CurlAsyncHTTPClient.initialize() has no corresponding parameter at all.

Attack chain (attacker = malicious HTTP server; victim = any Tornado app doing fetch() on attacker-influenced URLs — URL fetchers, webhook processors, link previewers, RSS/probe pollers):

  1. App configures AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient") (documented for proxy support; proxies are only supported with the curl client).
  2. App calls fetch("http://attacker/...") with defaults → request advertises Accept-Encoding: gzip,deflate.
  3. Attacker replies 200, `Content-Encoding:…
Record
GHSA-chx6-46f5-w4vp
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400, CWE-409
Updated
2026-11-02
OSVRHSA-2026:82040 7.5

Red Hat Security Advisory: python-tornado security update

Record
RHSA-2026:82040
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2026:82041 7.5

Red Hat Security Advisory: python-tornado security update

Record
RHSA-2026:82041
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRLSA-2026:82040 7.5

Important: python-tornado security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • tornado: Tornado: Denial of Service via decompression bomb in CurlAsyncHTTPClient (CVE-2026-103262)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2026:82040
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRLSA-2026:82041 7.5

Important: python-tornado security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • tornado: Tornado: Denial of Service via decompression bomb in CurlAsyncHTTPClient (CVE-2026-103262)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2026:82041
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-103262 8.7

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
UBUNTU-CVE-2026-103262
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-06
OSVALSA-2026:82040 No score

Important: python-tornado security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • tornado: Tornado: Denial of Service via decompression bomb in CurlAsyncHTTPClient (CVE-2026-103262)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2026:82040
Updated
2026-11-02
OSVALSA-2026:82041 No score

Important: python-tornado security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • tornado: Tornado: Denial of Service via decompression bomb in CurlAsyncHTTPClient (CVE-2026-103262)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2026:82041
Updated
2026-11-02
OSVAZL-105378 No score

CVE-2026-103262 affecting package python-tornado 6.3.3-11

Tornado versions before 6.5.9 contain an unbounded memory accumulation vulnerability in CurlAsyncHTTPClient that allows remote attackers to cause denial of service by sending a compressed response. Attackers can send a gzip-encoded decompression bomb that accumulates in memory without size limits, causing the application process to be killed by out-of-memory conditions.

Record
AZL-105378
Updated
2026-11-05
OSVCLSA-2026-1790836708 No score

TuxCare security update for tornado (1 CVE)

TuxCare rebuilt tornado to address 1 CVE. Fixed in 6.1.0.post10+tuxcare.

Record
CLSA-2026-1790836708
Updated
2026-11-02
OSVCLSA-2026-1790846524 No score

TuxCare security update for tornado (1 CVE)

TuxCare rebuilt tornado to address 1 CVE. Fixed in 5.1.1.post6+tuxcare.

Record
CLSA-2026-1790846524
Updated
2026-11-02
OSVROOT-APP-PYPI-GHSA-chx6-46f5-w4vp No score

GHSA-chx6-46f5-w4vp in tornado - Patched by Root

Root has patched GHSA-chx6-46f5-w4vp in the tornado package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-GHSA-chx6-46f5-w4vp
Updated
2026-11-02
OSVUSN-8952-1 No score

python-tornado vulnerabilities

It was discovered that Tornado did not properly handle certain HTTP requests and network inputs. An attacker could possibly use these issues to cause a denial of service, expose sensitive information, or bypass access controls.

(CVE-2023-54397, CVE-2024-14029, CVE-2026-91990, CVE-2026-91992, CVE-2026-103262, CVE-2026-103263)

Record
USN-8952-1
Updated
2026-11-06

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tornado
PyPI
through 6.5.8
6.5.9
python3-tornado
AlmaLinux:9
before 6.5.10-1.el9_8.1
6.5.10-1.el9_8.1
python3-tornado
AlmaLinux:10
before 6.5.10-1.el10_2.1
6.5.10-1.el10_2.1
python-tornado
Azure Linux:3
through 6.3.3-11 None known
py3-tornado
Alpaquita:25
6.5.1-r0 up to 6.5.10-r0
6.5.10-r0
py3-tornado
Alpaquita:stream
6.3.3-r0 up to 6.5.10-r0
6.5.10-r0
tornado
TuxCare:PyPI
6.1 up to 6.1.0.post10+tuxcare, plus listed versions
6.1.0.post1+tuxcare6.1.0.post2+tuxcare6.1.0.post3+tuxcare6.1.0.post4+tuxcare6.1.0.post5+tuxcare
Show 4 moreShow less
6.1.0.post6+tuxcare6.1.0.post7+tuxcare6.1.0.post8+tuxcare6.1.0.post9+tuxcare
6.1.0.post10+tuxcare
tornado
TuxCare:PyPI
5.1.1 up to 5.1.1.post6+tuxcare, plus listed versions
5.1.1.post1+tuxcare5.1.1.post2+tuxcare5.1.1.post3+tuxcare5.1.1.post4+tuxcare5.1.1.post5+tuxcare
5.1.1.post6+tuxcare
python-tornado
Debian:12
All versions, plus listed versions
6.2.0-36.2.0-3+deb12u16.2.0-3+deb12u26.2.0-3+deb12u36.2.0-3+deb12u4
Show 19 moreShow less
6.3.2-16.4.0-16.4.0-26.4.1-16.4.1-26.4.1-36.4.2-16.4.2-26.4.2-36.5.2-16.5.2-26.5.2-36.5.4-0.16.5.4-16.5.5-16.5.5-26.5.5-36.5.5-46.5.5-5
None known
python-tornado
Debian:13
All versions, plus listed versions
6.4.2-36.4.2-3+deb13u16.4.2-3+deb13u26.5.2-16.5.2-2
Show 8 moreShow less
6.5.2-36.5.4-0.16.5.4-16.5.5-16.5.5-26.5.5-36.5.5-46.5.5-5
None known
Show 25 moreShow less
Affected packages
PackageAffectedFixed
python-tornado
Debian:14
All versions, plus listed versions
6.4.2-36.5.2-16.5.2-26.5.2-36.5.4-0.1
Show 6 moreShow less
6.5.4-16.5.5-16.5.5-26.5.5-36.5.5-46.5.5-5
None known
tornado
PyPI
before 6.5.9, plus listed versions
0.21.01.11.1.11.2
Show 45 moreShow less
1.2.12.02.12.1.12.22.2.12.32.42.4.13.03.0.13.0.23.13.1.13.23.2.13.2.24.04.0.14.0.24.14.1b24.24.2.14.2b14.34.3b14.3b24.44.4.14.4.24.4.34.4b14.54.5.14.5.24.5.34.5b14.5b25.05.0.15.0.25.0a15.0b15.1
6.5.9
python-tornado
Red Hat:enterprise_linux:9::appstream
before 0:6.5.10-1.el9_8.1
0:6.5.10-1.el9_8.1
python-tornado-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:6.5.10-1.el9_8.1
0:6.5.10-1.el9_8.1
python3-tornado
Red Hat:enterprise_linux:9::appstream
before 0:6.5.10-1.el9_8.1
0:6.5.10-1.el9_8.1
python3-tornado-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:6.5.10-1.el9_8.1
0:6.5.10-1.el9_8.1
python-tornado
Red Hat:enterprise_linux:10.2
before 0:6.5.10-1.el10_2.1
0:6.5.10-1.el10_2.1
python-tornado-debugsource
Red Hat:enterprise_linux:10.2
before 0:6.5.10-1.el10_2.1
0:6.5.10-1.el10_2.1
python3-tornado
Red Hat:enterprise_linux:10.2
before 0:6.5.10-1.el10_2.1
0:6.5.10-1.el10_2.1
python3-tornado-debuginfo
Red Hat:enterprise_linux:10.2
before 0:6.5.10-1.el10_2.1
0:6.5.10-1.el10_2.1
python-tornado
Rocky Linux:9
before 0:6.5.10-1.el9_8.1
0:6.5.10-1.el9_8.1
python-tornado
Rocky Linux:10
before 0:6.5.10-1.el10_2.1
0:6.5.10-1.el10_2.1
tornado
Root:PyPI
before 6.5.3+aikido.7
6.5.3+aikido.76.2+aikido.126.5.3+aikido.6
python-tornado
Ubuntu:Pro:16.04:LTS
before 4.2.1-1ubuntu3.1+esm4, plus listed versions
4.2.1-1ubuntu24.2.1-1ubuntu34.2.1-1ubuntu3.14.2.1-1ubuntu3.1+esm14.2.1-1ubuntu3.1+esm24.2.1-1ubuntu3.1+esm3
4.2.1-1ubuntu3.1+esm4
python-tornado
Ubuntu:Pro:18.04:LTS
before 4.5.3-1ubuntu0.2+esm4, plus listed versions
4.5.1-2.1~build24.5.2-14.5.3-14.5.3-1ubuntu0.14.5.3-1ubuntu0.24.5.3-1ubuntu0.2+esm14.5.3-1ubuntu0.2+esm24.5.3-1ubuntu0.2+esm3
4.5.3-1ubuntu0.2+esm4
python-tornado
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
6.1.0-1build16.1.0-26.1.0-36.1.0-3build16.1.0-3ubuntu0.1~esm1
Show 5 moreShow less
6.1.0-3ubuntu0.1~esm26.1.0-3ubuntu0.1~esm46.1.0-3ubuntu0.1~esm56.1.0-3ubuntu0.1~esm66.1.0-3ubuntu0.1~esm7
None known
python-tornado
Ubuntu:24.04:LTS
before 6.4.0-1ubuntu0.6, plus listed versions
6.3.2-16.4.0-0ubuntu16.4.0-16.4.0-1build16.4.0-1ubuntu0.16.4.0-1ubuntu0.26.4.0-1ubuntu0.46.4.0-1ubuntu0.5
6.4.0-1ubuntu0.6
python-tornado
Ubuntu:26.04:LTS
before 6.5.4-0.1ubuntu0.2, plus listed versions
6.4.2-36.5.2-36.5.4-0.16.5.4-0.1ubuntu0.1
6.5.4-0.1ubuntu0.2
python-tornado
Ubuntu:Pro:16.04:LTS
From an advisory covering 6 CVEs
before 4.2.1-1ubuntu3.1+esm4, plus listed versions
4.2.1-1ubuntu24.2.1-1ubuntu34.2.1-1ubuntu3.14.2.1-1ubuntu3.1+esm14.2.1-1ubuntu3.1+esm24.2.1-1ubuntu3.1+esm3
4.2.1-1ubuntu3.1+esm4
python-tornado
Ubuntu:Pro:18.04:LTS
From an advisory covering 6 CVEs
before 4.5.3-1ubuntu0.2+esm4, plus listed versions
4.5.1-2.1~build24.5.2-14.5.3-14.5.3-1ubuntu0.14.5.3-1ubuntu0.24.5.3-1ubuntu0.2+esm14.5.3-1ubuntu0.2+esm24.5.3-1ubuntu0.2+esm3
4.5.3-1ubuntu0.2+esm4
python-tornado
Ubuntu:Pro:20.04:LTS
From an advisory covering 6 CVEs
before 6.0.3+really5.1.1-3ubuntu0.1~esm7, plus listed versions
5.1.1-4ubuntu15.1.1-4ubuntu56.0.3+really5.1.1-26.0.3+really5.1.1-2build16.0.3+really5.1.1-2build2
Show 4 moreShow less
6.0.3+really5.1.1-36.0.3+really5.1.1-3ubuntu0.1~esm16.0.3+really5.1.1-3ubuntu0.1~esm36.0.3+really5.1.1-3ubuntu0.1~esm5
6.0.3+really5.1.1-3ubuntu0.1~esm7
python-tornado
Ubuntu:Pro:22.04:LTS
From an advisory covering 6 CVEs
before 6.1.0-3ubuntu0.1~esm6, plus listed versions
6.1.0-1build16.1.0-26.1.0-36.1.0-3build16.1.0-3ubuntu0.1~esm16.1.0-3ubuntu0.1~esm26.1.0-3ubuntu0.1~esm46.1.0-3ubuntu0.1~esm5
6.1.0-3ubuntu0.1~esm6
python-tornado
Ubuntu:24.04:LTS
From an advisory covering 6 CVEs
before 6.4.0-1ubuntu0.6, plus listed versions
6.3.2-16.4.0-0ubuntu16.4.0-16.4.0-1build16.4.0-1ubuntu0.16.4.0-1ubuntu0.26.4.0-1ubuntu0.46.4.0-1ubuntu0.5
6.4.0-1ubuntu0.6
python-tornado
Ubuntu:26.10
From an advisory covering 6 CVEs
before 6.5.5-5ubuntu1.1, plus listed versions
6.5.4-0.16.5.5-26.5.5-46.5.5-5
6.5.5-5ubuntu1.1
python-tornado
Ubuntu:26.04:LTS
From an advisory covering 6 CVEs
before 6.5.4-0.1ubuntu0.2, plus listed versions
6.4.2-36.5.2-36.5.4-0.16.5.4-0.1ubuntu0.1
6.5.4-0.1ubuntu0.2

History

History
RecordedChangedSources
affectedOSV
affected
factsOSV
aliases
affected, aliases, references
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-103262 is a high vulnerability (CVSS 8.7) in Tornadoweb Tornado, published September 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.63%, the 50th percentile. Fixed in tornado 6.5.9.

References

Show 29 moreShow less
This page doesn't list everything

Left out here: 34 versions and the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open