Issue #22419: Limit the length of incoming HTTP request in wsgiref server to 65536 bytes.
diff --git a/Lib/wsgiref/simple_server.py b/Lib/wsgiref/simple_server.py
index 12119ea..35b98d1 100644
--- a/Lib/wsgiref/simple_server.py
+++ b/Lib/wsgiref/simple_server.py
@@ -113,7 +113,14 @@
def handle(self):
"""Handle a single HTTP request"""
- self.raw_requestline = self.rfile.readline()
+ self.raw_requestline = self.rfile.readline(65537)
+ if len(self.raw_requestline) > 65536:
+ self.requestline = ''
+ self.request_version = ''
+ self.command = ''
+ self.send_error(414)
+ return
+
if not self.parse_request(): # An error code has been sent, just exit
return