Skip to main content
← All vulnerabilities
CVE-2024-49769GHSA-3F84-RPWH-47G6PYSEC-2024-211

Waitress has a denial of service leading to high CPU usage/resource exhaustion

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.0.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Waitress is a Web Server Gateway Interface server for Python 2 and 3. When a remote client closes the connection before waitress has had the opportunity to call getpeername() waitress won't correctly clean up the connection leading to the main thread attempting to write to a socket that no longer exists, but not removing it from the list of sockets to attempt to process. This leads to a busy-loop calling the write function. A remote attacker could run waitress out of available sockets with very little resources required. Waitress 3.0.1 contains fixes that remove the race condition.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • Pylons waitress

    fixed in 3.0.1

  • waitressPyPI

    fixed in 3.0.1

References 4

GitHub · Pylons/waitress