CVE-2025-47287: CWE-770: Allocation of Resources Without Limits or Throttling in tornadoweb tornado
Tornado is a Python web framework and asynchronous networking library. When Tornado's ``multipart/form-data`` parser encounters certain errors, it logs a warning but continues trying to parse the remainder of the data. This allows remote attackers to generate an extremely high volume of logs, constituting a DoS attack. This DoS is compounded by the fact that the logging subsystem is synchronous. All versions of Tornado prior to 6.5.0 are affected. The vulnerable parser is enabled by default. Upgrade to Tornado version 6.50 to receive a patch. As a workaround, risk can be mitigated by blocking `Content-Type: multipart/form-data` in a proxy.
AI Analysis
Technical Summary
CVE-2025-47287 is a high-severity vulnerability affecting Tornado, a popular Python web framework and asynchronous networking library widely used for building scalable web applications. The vulnerability arises from the way Tornado's multipart/form-data parser handles malformed or erroneous input. Specifically, when the parser encounters certain errors in multipart/form-data payloads, it logs warnings but continues to parse the remaining data instead of halting or properly limiting resource consumption. This behavior allows a remote attacker to send specially crafted HTTP requests with multipart/form-data content that trigger excessive logging activity. Because Tornado's logging subsystem is synchronous, this results in a significant consumption of CPU and I/O resources, effectively causing a denial-of-service (DoS) condition by overwhelming the server's processing capacity. All Tornado versions prior to 6.5.0 are vulnerable, and the multipart/form-data parser is enabled by default, increasing the attack surface. The vulnerability is classified under CWE-770 (Allocation of Resources Without Limits or Throttling), highlighting the lack of safeguards against resource exhaustion. The CVSS v3.1 score is 7.5 (high), reflecting the network attack vector, low attack complexity, no privileges or user interaction required, and a high impact on availability. No known exploits are currently in the wild, but the potential for DoS attacks is significant. The recommended remediation is to upgrade to Tornado version 6.5.0 or later, where the issue is patched. As an interim mitigation, blocking HTTP requests with Content-Type: multipart/form-data at a proxy or firewall can reduce exposure to this attack vector.
Potential Impact
For European organizations, this vulnerability poses a substantial risk to the availability of web services built on Tornado versions prior to 6.5.0. Many enterprises, government agencies, and service providers in Europe rely on Python-based web frameworks for internal and customer-facing applications. An attacker exploiting this vulnerability can cause service outages by flooding the server with malicious multipart/form-data requests, leading to degraded performance or complete denial of service. This can disrupt business operations, erode customer trust, and potentially violate regulatory requirements related to service availability and incident response under frameworks like GDPR and NIS Directive. The synchronous logging exacerbates the impact by amplifying resource consumption, making mitigation more urgent. Additionally, organizations with public-facing APIs or web portals that accept file uploads or form submissions using multipart/form-data are particularly at risk. The vulnerability does not affect confidentiality or integrity directly but can be leveraged as part of a broader attack campaign to disrupt critical services.
Mitigation Recommendations
1. Immediate upgrade to Tornado version 6.5.0 or later is the most effective mitigation, as this version contains the patch that properly limits resource allocation and logging behavior during multipart/form-data parsing errors. 2. Deploy web application firewalls (WAFs) or reverse proxies configured to block or rate-limit HTTP requests with Content-Type: multipart/form-data, especially from untrusted or anonymous sources, to reduce exposure to malicious payloads. 3. Implement rate limiting and anomaly detection on endpoints that accept multipart/form-data to detect and block abnormal request patterns indicative of DoS attempts. 4. Review and harden logging configurations to use asynchronous logging mechanisms where possible, reducing the risk that logging itself becomes a bottleneck or attack vector. 5. Conduct thorough testing of multipart/form-data handling in staging environments to identify and remediate any custom code or third-party components that may exacerbate resource exhaustion. 6. Monitor application and infrastructure logs for unusual spikes in multipart/form-data requests or logging activity, enabling early detection of exploitation attempts. 7. Educate development and operations teams about this vulnerability and ensure timely patch management practices are in place for all Tornado-based applications.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Italy, Spain, Poland
CVE-2025-47287: CWE-770: Allocation of Resources Without Limits or Throttling in tornadoweb tornado
Description
Tornado is a Python web framework and asynchronous networking library. When Tornado's ``multipart/form-data`` parser encounters certain errors, it logs a warning but continues trying to parse the remainder of the data. This allows remote attackers to generate an extremely high volume of logs, constituting a DoS attack. This DoS is compounded by the fact that the logging subsystem is synchronous. All versions of Tornado prior to 6.5.0 are affected. The vulnerable parser is enabled by default. Upgrade to Tornado version 6.50 to receive a patch. As a workaround, risk can be mitigated by blocking `Content-Type: multipart/form-data` in a proxy.
AI-Powered Analysis
Technical Analysis
CVE-2025-47287 is a high-severity vulnerability affecting Tornado, a popular Python web framework and asynchronous networking library widely used for building scalable web applications. The vulnerability arises from the way Tornado's multipart/form-data parser handles malformed or erroneous input. Specifically, when the parser encounters certain errors in multipart/form-data payloads, it logs warnings but continues to parse the remaining data instead of halting or properly limiting resource consumption. This behavior allows a remote attacker to send specially crafted HTTP requests with multipart/form-data content that trigger excessive logging activity. Because Tornado's logging subsystem is synchronous, this results in a significant consumption of CPU and I/O resources, effectively causing a denial-of-service (DoS) condition by overwhelming the server's processing capacity. All Tornado versions prior to 6.5.0 are vulnerable, and the multipart/form-data parser is enabled by default, increasing the attack surface. The vulnerability is classified under CWE-770 (Allocation of Resources Without Limits or Throttling), highlighting the lack of safeguards against resource exhaustion. The CVSS v3.1 score is 7.5 (high), reflecting the network attack vector, low attack complexity, no privileges or user interaction required, and a high impact on availability. No known exploits are currently in the wild, but the potential for DoS attacks is significant. The recommended remediation is to upgrade to Tornado version 6.5.0 or later, where the issue is patched. As an interim mitigation, blocking HTTP requests with Content-Type: multipart/form-data at a proxy or firewall can reduce exposure to this attack vector.
Potential Impact
For European organizations, this vulnerability poses a substantial risk to the availability of web services built on Tornado versions prior to 6.5.0. Many enterprises, government agencies, and service providers in Europe rely on Python-based web frameworks for internal and customer-facing applications. An attacker exploiting this vulnerability can cause service outages by flooding the server with malicious multipart/form-data requests, leading to degraded performance or complete denial of service. This can disrupt business operations, erode customer trust, and potentially violate regulatory requirements related to service availability and incident response under frameworks like GDPR and NIS Directive. The synchronous logging exacerbates the impact by amplifying resource consumption, making mitigation more urgent. Additionally, organizations with public-facing APIs or web portals that accept file uploads or form submissions using multipart/form-data are particularly at risk. The vulnerability does not affect confidentiality or integrity directly but can be leveraged as part of a broader attack campaign to disrupt critical services.
Mitigation Recommendations
1. Immediate upgrade to Tornado version 6.5.0 or later is the most effective mitigation, as this version contains the patch that properly limits resource allocation and logging behavior during multipart/form-data parsing errors. 2. Deploy web application firewalls (WAFs) or reverse proxies configured to block or rate-limit HTTP requests with Content-Type: multipart/form-data, especially from untrusted or anonymous sources, to reduce exposure to malicious payloads. 3. Implement rate limiting and anomaly detection on endpoints that accept multipart/form-data to detect and block abnormal request patterns indicative of DoS attempts. 4. Review and harden logging configurations to use asynchronous logging mechanisms where possible, reducing the risk that logging itself becomes a bottleneck or attack vector. 5. Conduct thorough testing of multipart/form-data handling in staging environments to identify and remediate any custom code or third-party components that may exacerbate resource exhaustion. 6. Monitor application and infrastructure logs for unusual spikes in multipart/form-data requests or logging activity, enabling early detection of exploitation attempts. 7. Educate development and operations teams about this vulnerability and ensure timely patch management practices are in place for all Tornado-based applications.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2025-05-05T16:53:10.374Z
- Cisa Enriched
- true
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 682cd0f91484d88663aebebb
Added to database: 5/20/2025, 6:59:05 PM
Last enriched: 7/11/2025, 10:03:44 AM
Last updated: 8/12/2025, 12:16:44 PM
Views: 19
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.