CVE-2025-67725 json
Tornado is Vulnerable to Quadratic DoS via Repeated Header Coalescing
published 2025-12-12 10 mo ago modified 2026-10-07 32 d ago also EUVD-2025-203031 , GHSA-c98p-7wgm-6p64 , PYSEC-2025-266
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
Tornado is a Python web framework and asynchronous networking library. In versions 6.5.2 and below, a single maliciously crafted HTTP request can block the server's event loop for an extended period, caused by the HTTPHeaders.add method. The function accumulates values using string concatenation when the same header name is repeated, causing a Denial of Service (DoS). Due to Python string immutability, each concatenation copies the entire string, resulting in O(n²) time complexity. The severity can vary from high if max_header_size has been increased from its default, to low if it has its default value of 64KB. This issue is fixed in version 6.5.3.
Patch / fix
- pypi tornado 6.5.3
- tornadoweb tornado 6.5.3
- python-tornado Debian 12 6.2.0-3+deb12u4
- python-tornado Debian 13 6.4.2-3+deb13u2
- python-tornado Debian 14 6.5.4-0.1
debian advisories DEBIAN-CVE-2025-67725
- python-tornado Ubuntu 24.04 LTS 6.4.0-1ubuntu0.4
- python-tornado Ubuntu 25.10 6.4.2-3ubuntu0.2
- python-tornado Ubuntu Pro 16.04 LTS 4.2.1-1ubuntu3.1+esm2
- python-tornado Ubuntu Pro 18.04 LTS 4.5.3-1ubuntu0.2+esm2
- python-tornado Ubuntu Pro 20.04 LTS 6.0.3+really5.1.1-3ubuntu0.1~esm3
- python-tornado Ubuntu Pro 22.04 LTS 6.1.0-3ubuntu0.1~esm4
ubuntu advisories UBUNTU-CVE-2025-67725
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- pcs RHEL 8 0.10.18-2.el8_10.8
- pcs-snmp RHEL 8 0.10.18-2.el8_10.8
- pcs RHEL 9.0 E4S 0.11.1-10.el9_0.10
- pcs-snmp RHEL 9.0 E4S 0.11.1-10.el9_0.10
- pcs RHEL 8.6 TUS, RHEL 8.6 E4S 0.10.12-6.el8_6.12
- pcs-snmp RHEL 8.6 TUS, RHEL 8.6 E4S 0.10.12-6.el8_6.12
- pcs RHEL 8.4 EUS_LONG_LIFE, RHEL 8.4 AUS 0.10.8-1.el8_4.10
- pcs-snmp RHEL 8.4 EUS_LONG_LIFE, RHEL 8.4 AUS 0.10.8-1.el8_4.10
red hat advisories RHSA-2026:2484RHSA-2026:2469RHSA-2026:2462RHSA-2026:2465RHSA-2026:0930
- rhnlib EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 5.2.4-100052.3.3.1
- spacecmd Multi Linux Manager Tools Beta EL-10, EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 5.2.6-100052.3.3.1
- venv-salt-minion Multi Linux Manager Tools Beta EL-10, EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 3006.0-100052.3.3.1
- uyuni-common-libs EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 5.2.3-100052.3.3.1
- saltbundlepy-m2crypto EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 0.45.1-100052.3.3.1
- spacewalk-client-tools EL-10:Update:Products:MultiLinuxManagerToolsBeta:Update 5.2.4-100052.3.3.1
- rhnlib Multi Linux Manager Tools Beta SLE-15 5.2.4-159000.4.3.1
- grafana Multi Linux Manager Tools Beta SLE-15 11.6.11-159000.2.3.2
suse advisories SUSE-SU-2026:1149-1SUSE-SU-2026:1148-1SUSE-SU-2026:1146-1SUSE-SU-2026:1142-1SUSE-SU-2026:1141-1SUSE-SU-2026:1140-1
- salt openSUSE Leap 16.0 3006.0-160000.4.1
- salt-test openSUSE Leap 16.0 3006.0-160000.4.1
- salt openSUSE Tumbleweed 3006.0-55.1
- python-tornado6 openSUSE Leap 16.0 6.5-160000.3.1
- python-tornado6 openSUSE Tumbleweed 6.5.4-1.1
opensuse advisories openSUSE-SU-2026:20412-1openSUSE-SU-2026:10110-1openSUSE-SU-2026:20015-1openSUSE-SU-2025:15838-1
- pcs AlmaLinux 8 0.10.18-2.el8_10.8.alma.1
- pcs-snmp AlmaLinux 8 0.10.18-2.el8_10.8.alma.1
almalinux advisories ALSA-2026:0930
- pcs Rocky Linux 8 0.10.18-2.el8_10.8
rocky linux advisories RLSA-2026:0930
- py3-tornado Alpine 3.24, Alpine 3.23 6.5.4-r0
alpine advisories ALPINE-CVE-2025-67725
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
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-2025-67725 updated cvss 5.3
tornado: Tornado Quadratic DoS via Repeated Header Coalescing
-
Red Hat external secrets operator for Red Hat OpenShift - Tech Preview external-secrets-operator/external-secrets-rhel9, external-secrets-operator/bitwarden-sdk-server-rhel9, external-secrets-operator/external-secrets-operator-rhel9, external-secrets-operator/external-secrets-operator-bundleaffected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux 9 pcs, pcs-snmp, rhel9/keylime-verifier, rhel9/keylime-registrar Red Hat Enterprise Linux 10 rhel10/keylime-verifier, rhel10/keylime-registraraffected: workaround, no fix available
-
Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/disk-image-cuda-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux High Availability AUS (v.8.4) pcs 0.10.8-1.el8_4.10, pcs-snmp 0.10.8-1.el8_4.10fixed: vendor fix RHSA-2026:2462
-
Red Hat Enterprise Linux High Availability E4S (v.8.6) pcs 0.10.12-6.el8_6.12, pcs-snmp 0.10.12-6.el8_6.12fixed: vendor fix RHSA-2026:2469
-
Red Hat Enterprise Linux High Availability E4S (v.8.8) pcs 0.10.15-4.el8_8.10, pcs-snmp 0.10.15-4.el8_8.10fixed: vendor fix RHSA-2026:2465
-
Red Hat Enterprise Linux High Availability E4S (v.9.0) pcs 0.11.1-10.el9_0.10, pcs-snmp 0.11.1-10.el9_0.10fixed: vendor fix RHSA-2026:2484
-
Red Hat Enterprise Linux High Availability TUS (v.8.6) pcs 0.10.12-6.el8_6.12, pcs-snmp 0.10.12-6.el8_6.12fixed: vendor fix RHSA-2026:2469
show 14 moreshow fewer
-
Red Hat Enterprise Linux High Availability TUS (v.8.8) pcs 0.10.15-4.el8_8.10, pcs-snmp 0.10.15-4.el8_8.10fixed: vendor fix RHSA-2026:2465
-
Red Hat Enterprise Linux HighAvailability (v. 8) pcs 0.10.18-2.el8_10.8, pcs-snmp 0.10.18-2.el8_10.8fixed: vendor fix RHSA-2026:0930
-
Red Hat Enterprise Linux HighAvailability EUS EXTENSION (v.8.4) pcs 0.10.8-1.el8_4.10, pcs-snmp 0.10.8-1.el8_4.10fixed: vendor fix RHSA-2026:2462
-
Red Hat Enterprise Linux ResilientStorage (v. 8) pcs 0.10.18-2.el8_10.8, pcs-snmp 0.10.18-2.el8_10.8fixed: vendor fix RHSA-2026:0930
-
Red Hat Enterprise Linux ResilientStorage E4S (v.9.0) pcs 0.11.1-10.el9_0.10, pcs-snmp 0.11.1-10.el9_0.10fixed: vendor fix RHSA-2026:2484
-
Red Hat OpenShift AI 2.25 rhoai 1770053703, rhoai 1770053721, rhoai 1770053723, rhoai 1770053728, rhoai 1770053730, rhoai 1770053733, +12 morefixed: vendor fix RHSA-2026:2106
-
Red Hat OpenShift AI 3.3 rhoai 1769162595, rhoai 1771415661, rhoai 1771502843, rhoai 1771502844, rhoai 1771502845, rhoai 1771502863, +12 morefixed: vendor fix RHSA-2026:3713
-
Red Hat External Secrets Operator for Red Hat OpenShift external-secrets-operator/external-secrets-rhel9, external-secrets-operator/bitwarden-sdk-server-rhel9, external-secrets-operator/external-secrets-operator-rhel9, external-secrets-operator/external-secrets-operator-bundlenot affected: vulnerable code not present
-
Red Hat OpenShift Service Mesh 2 openshift-service-mesh/pilot-rhel8, openshift-service-mesh/grafana-rhel8, openshift-service-mesh/proxyv2-rhel9, openshift-service-mesh/istio-cni-rhel8, openshift-service-mesh/ratelimit-rhel8, openshift-service-mesh/istio-rhel8-operator, +2 more Red Hat OpenShift Service Mesh 3 openshift-service-mesh/istio-cni-rhel9, openshift-service-mesh/istio-pilot-rhel9, openshift-service-mesh/istio-proxyv2-rhel9, openshift-service-mesh/istio-rhel9-operator, openshift-service-mesh/istio-must-gather-rhel9, openshift-service-mesh/istio-sail-operator-bundle, +1 morenot affected: component not present
-
Red Hat Advanced Cluster Security 4 advanced-cluster-security/rhacs-collector-rhel8not affected: vulnerable code not present
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-trustyai-ragas-lls-provider-dsp-rhel9not affected: component not present
-
Red Hat OpenShift AI 2.25 rhoai 1770053626, rhoai 1770053627, rhoai 1770053694, rhoai 1770053784, rhoai 1770053785, rhoai 1770053799, +51 more Red Hat OpenShift AI 3.3 rhoai 1769436305, rhoai 1769519975, rhoai 1770277795, rhoai 1770735854, rhoai 1770754585, rhoai 1770754605, +54 morenot affected: vulnerable code not present
-
Red Hat OpenShift Container Platform 4 python-pep517not affected: vulnerable code not in execute path
-
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 morenot 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
- 10 mo ago
Exploit prediction
0.56% chance of exploitation in the next 30 days, higher than 46% 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.3 |
6.5.3 |
Affected products
- tornadoweb tornado
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
github.com
/tornadoweb/tornado/commit/771472cfdaeebc0d89a9cc46e249f8891a6b29cd
web, patch
-
github.com
/tornadoweb/tornado/security/advisories/GHSA-c98p-7wgm-6p64
web, vendor-advisory, advisory
-
github.com
/tornadoweb/tornado/releases/tag/v6.5.3
web, release-notes, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-67725
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/tornado/PYSEC-2025-266.yaml
web
-
github.com
/tornadoweb/tornado
package
Sources
- CVE List CVE-2025-67725
- GitHub Advisory GHSA-c98p-7wgm-6p64
- NVD CVE-2025-67725
- OSV PYSEC-2025-266
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.