Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsLearn about Allocation of Resources Without Limits or Throttling vulnerabilities in an interactive lesson.
Start learningUpgrade tornado to version 6.5.8 or higher.
tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via parse_multipart_form_data in tornado/httputil.py, where the max_parts limit was enforced only after splitting the entire multipart body into parts. An attacker can send a multipart request with an excessive number of boundary-delimited parts, causing the str.split() call to allocate a large temporary list before the limit check is applied, resulting in CPU and memory amplification. The fix passes config.max_parts + 1 as the maxsplit argument so the split is bounded before the check.