The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-31958

CVE-2026-31958: Tornado Framework DoS Vulnerability

CVE-2026-31958 is a denial-of-service vulnerability in Tornado Python web framework caused by parsing large multipart/form-data bodies. This article covers the technical details, affected versions, and mitigation strategies.

Published: March 13, 2026

CVE-2026-31958 Overview

CVE-2026-31958 is a Denial of Service vulnerability in Tornado, a Python web framework and asynchronous networking library. In versions prior to 6.5.5, the framework imposes no limit on the number of parts in multipart/form-data requests beyond the max_body_size setting (default 100MB). Since multipart parsing occurs synchronously on the main thread, attackers can cause denial-of-service by sending requests with an excessive number of parts, exhausting server resources during the parsing process.

Critical Impact

Unauthenticated attackers can exploit this vulnerability remotely to cause denial of service on Tornado web applications by sending specially crafted multipart/form-data requests with many parts, causing resource exhaustion on the main thread.

Affected Products

  • Tornado versions prior to 6.5.5
  • Python web applications using Tornado's multipart/form-data parsing
  • Services accepting file uploads or form submissions via Tornado

Discovery Timeline

  • 2026-03-11 - CVE-2026-31958 published to NVD
  • 2026-03-12 - Last updated in NVD database

Technical Details for CVE-2026-31958

Vulnerability Analysis

This vulnerability stems from a resource exhaustion weakness (CWE-400) in Tornado's multipart/form-data parsing implementation. The core issue is the absence of a dedicated limit on the number of individual parts within a multipart request. While Tornado enforces a max_body_size constraint (defaulting to 100MB), this limit only restricts the total size of the request body, not the number of discrete parts it contains.

The parsing operation is particularly problematic because it executes synchronously on the main event loop thread. In Tornado's asynchronous architecture, blocking the main thread during computationally expensive operations prevents the server from handling other requests, effectively creating a single point of failure. An attacker can exploit this by crafting a multipart request that stays within the size limit but contains thousands or millions of small parts, forcing the server to spend excessive CPU cycles parsing each boundary and header.

Root Cause

The root cause is inadequate input validation in the multipart parser. Specifically, Tornado lacks a configuration option or hardcoded limit to restrict the number of parts processed in a single multipart/form-data request. Combined with synchronous parsing on the main thread, this allows computationally expensive parsing operations to block the entire application.

Attack Vector

This vulnerability is exploitable over the network without authentication. An attacker can send a malicious HTTP POST request with the Content-Type: multipart/form-data header containing a body with an extremely high number of parts. Each part requires parsing of boundaries, headers, and content, creating cumulative processing overhead.

The attack is particularly effective because:

  • No authentication is required to submit multipart requests to endpoints accepting form data
  • The max_body_size limit can be satisfied while still including millions of tiny parts
  • Synchronous parsing blocks the main event loop, affecting all concurrent requests
  • The default 100MB limit allows substantial room for crafting malicious payloads

Detection Methods for CVE-2026-31958

Indicators of Compromise

  • Unusual spikes in CPU utilization on servers running Tornado applications
  • HTTP POST requests to form or upload endpoints with abnormally high Content-Length values
  • Increased response times or timeouts on Tornado-powered web services
  • Log entries showing multipart/form-data requests with unusual characteristics

Detection Strategies

  • Monitor for POST requests with Content-Type: multipart/form-data that approach the max_body_size limit
  • Implement request rate limiting on endpoints accepting multipart form submissions
  • Configure web application firewalls to inspect and limit multipart boundary occurrences
  • Deploy application performance monitoring to detect main thread blocking events

Monitoring Recommendations

  • Set up alerts for sustained high CPU usage patterns on Tornado application servers
  • Track request processing time metrics to identify parsing-related slowdowns
  • Monitor network traffic for anomalous multipart request patterns
  • Enable detailed logging for multipart parsing operations to identify abuse attempts

How to Mitigate CVE-2026-31958

Immediate Actions Required

  • Upgrade Tornado to version 6.5.5 or later immediately
  • Review all endpoints accepting multipart/form-data submissions for exposure
  • Implement reverse proxy rate limiting for POST requests to affected endpoints
  • Consider temporary reduction of max_body_size to limit attack surface

Patch Information

This vulnerability is fixed in Tornado version 6.5.5. The fix introduces proper limits on the number of parts processed in multipart/form-data requests. Organizations should upgrade to this version or later as soon as possible. For detailed patch information, refer to the GitHub Security Advisory.

Workarounds

  • Implement a reverse proxy (nginx, HAProxy) with request body inspection to reject requests with excessive multipart boundaries
  • Configure aggressive max_body_size limits appropriate for your application's actual needs
  • Deploy web application firewall rules to detect and block multipart abuse patterns
  • Consider implementing application-level part counting and rejection logic before passing to Tornado's parser
bash
# Example nginx configuration to limit request body size
# Add to server or location block for affected endpoints
client_max_body_size 10m;
client_body_buffer_size 128k;

# Rate limiting for POST requests
limit_req_zone $binary_remote_addr zone=upload_limit:10m rate=10r/s;
location /upload {
    limit_req zone=upload_limit burst=20 nodelay;
    # ... existing configuration
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeDOS

  • Vendor/TechTornado

  • SeverityHIGH

  • CVSS Score8.7

  • EPSS Probability0.05%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS: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
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • CWE-400
  • Technical References
  • GitHub Security Advisory
  • Related CVEs
  • CVE-2025-47287: Tornadoweb Tornado DoS Vulnerability
Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English