Skip to content
OpenAdvisories
Medium · 5.7 Public exploit CVE-2020-5236 EUVD-2020-0238GHSA-73m2-3pwg-5fgcPYSEC-2020-155

Catastrophic backtracking in regex allows Denial of Service in Waitress

Published Feb 4, 2020 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

Waitress version 1.4.2 allows a DOS attack When waitress receives a header that contains invalid characters. When a header like "Bad-header: xxxxxxxxxxxxxxx\x10" is received, it will cause the regular expression engine to catastrophically backtrack causing the process to use 100% CPU time and blocking any other interactions. This allows an attacker to send a single request with an invalid header and take the service offline. This issue was introduced in version 1.4.2 when the regular expression was updated to attempt to match the behaviour required by errata associated with RFC7230. The regular expression that is used to validate incoming headers has been updated in version 1.4.3, it is recommended that people upgrade to the new version of Waitress as soon as possible.

Affected products

VendorProductAffectedFixed
Pylons Waitress = 1.4.2 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI waitress >= 1.4.2, < 1.4.3 1.4.3 GHSA-73m2-3pwg-5fgc
PyPI waitress < 1.4.3 1.4.3 PYSEC-2020-155

References