7.5 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): None (N)
- Availability (A): High (H)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): High (H)
by @LeSuisse Activity log
- Created suggestion
-
@LeSuisse
ignored
4 packages
- python313Packages.pytest-tornado
- python313Packages.sockjs-tornado
- python314Packages.pytest-tornado
- python314Packages.sockjs-tornado
- @LeSuisse accepted
- @LeSuisse published on GitHub
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.8, Tornado parses application/x-www-form-urlencoded request bodies with urllib.parse.parse_qs in tornado/escape.py without passing max_num_fields. RequestHandler._execute in tornado/web.py parses the body before handler dispatch through HTTPServerRequest._parse_body and parse_body_arguments in tornado/httputil.py, so an unauthenticated request body containing millions of separator-delimited fields can synchronously stall the single-threaded event loop and delay every connection. The body is bounded only by max_buffer_size, which defaults to 104857600 bytes. This issue is fixed in version 6.5.8.
References
-
https://github.com/tornadoweb/tornado/security/advisories/GHSA-mpf4-983q-p7j4 x_refsource_CONFIRM
-
https://github.com/tornadoweb/tornado/pull/3704 x_refsource_MISC
-
https://github.com/tornadoweb/tornado/releases/tag/v6.5.8 x_refsource_MISC
Affected products
- ==< 6.5.8
Matching in nixpkgs
pkgs.python313Packages.tornado
Web framework and asynchronous networking library
Ignored packages (4)
pkgs.python313Packages.pytest-tornado
Py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications
pkgs.python313Packages.sockjs-tornado
SockJS python server implementation on top of Tornado framework
pkgs.python314Packages.pytest-tornado
Py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications