GHSA-9298-4cf8-g4wj — Waitress versions >=2.0.0 and <3.0.1 contain a Time-Of-Check-Time-Of-Use (TOCTOU) race condition in the HTTP pipelining path.
When channel_request_lookahead is enabled (common in deployments using the default configuration), the main thread can read a second pipelined HTTP request while the service thread is simultaneously closing the connection due to an error on the first request. The second request then gets processed on a connection that should have been dropped — leading to HTTP request smuggling and unauthorized request processing.
return False guard is not a style violation.AI-assisted review is only as good as the model's ability to reason about concurrent state. Most AI tools treat a diff as a sequence of line changes — a linear view of a concurrent problem. The Waitress race condition is invisible without modeling two threads accessing shared state simultaneously.
As teams push more review volume through AI agents, the risk is that agents rubber-stamp patches that look syntactically correct but miss concurrency, state machine, and TOCTOU-class bugs. PullLight's analysis considers execution context — not just what changed, but what could still go wrong when the new code runs alongside the rest of the system.
CVE-2024-49768 is a CVSS 9.1. That's the severity level reserved for remote code execution and complete system compromise. An HTTP pipelining race condition isn't glamorous — it's a subtle, low-visibility bug that a competent reviewer might miss. That's exactly the kind of finding that proves PullLight is doing something fundamentally different from a diff summarizer.
received(), the while-data loop starts without checkingwill_closeorclose_when_flushed. Whenchannel_request_lookaheadis enabled (default in many deployments), the main thread can read a second pipelined request while the service thread setsclose_when_flusheddue to an error on the first request — causing the second request to be serviced on a connection that should have been dropped. This is a TOCTOU (Time-Of-Check-Time-Of-Use) race condition (CWE-367) that can lead to HTTP request smuggling and unauthorized request processing.requests_lock:if self.will_close or self.close_when_flushed: return False