Time-of-check Time-of-use (TOCTOU) Race Condition Affecting waitress package, versions [2.0.0,3.0.1)


Severity

Recommended
0.0
critical
0
10

CVSS assessment made by Snyk's Security Team

    Threat Intelligence

    EPSS
    0.05% (19th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-PYTHON-WAITRESS-8309636
  • published 29 Oct 2024
  • disclosed 29 Oct 2024
  • credit m4yfly, urn1ce

How to fix?

Upgrade waitress to version 3.0.1 or higher.

Overview

waitress is a production-quality pure-Python WSGI server with very acceptable performance.

Affected versions of this package are vulnerable to Time-of-check Time-of-use (TOCTOU) Race Condition in HTTP pipelining when handling an invalid initial request. An attacker can exploit this vulnerability to process unauthorized requests by sending a specially crafted sequence of requests where the first request is exactly recv_bytes long and followed by a secondary request using HTTP pipelining.

Workaround

This vulnerability can be mitigated by disabling channel_request_lookahead, which is set to 0 by default, thus disabling this feature.

References

CVSS Scores

version 4.0
version 3.1
Expand this section

Snyk

Recommended
9.3 critical
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    Low
  • Attack Requirements (AT)
    None
  • Privileges Required (PR)
    None
  • User Interaction (UI)
    None
  • Confidentiality (VC)
    High
  • Integrity (VI)
    High
  • Availability (VA)
    None
  • Confidentiality (SC)
    None
  • Integrity (SI)
    None
  • Availability (SA)
    None