CVE-2022-31015: Uncaught Exception (due to a data race) leads to process termination in Waitress
Vulnerability summary
CVE-2022-31015 is a medium (CVSS 6.5) Uncaught Exception vulnerability in agendaless waitress. EPSS estimates a 1.50% chance of exploitation in the next 30 days, higher than 74.2% of scored vulnerabilities. 1 public exploit is recorded.
Not severe (CVSS 6.5, network access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 1 · Related 1Timeline
- 31-05-2022PublishedVulnerability first disclosed.
- 22-04-2025Last modifiedVulnerability information updated.
Description
Waitress is a Web Server Gateway Interface server for Python 2 and 3. Waitress versions 2.1.0 and 2.1.1 may terminate early due to a thread closing a socket while the main thread is about to call select(). This will lead to the main thread raising an exception that is not handled and then causing the entire application to be killed. This issue has been fixed in Waitress 2.1.2 by no longer allowing the WSGI thread to close the socket. Instead, that is always delegated to the main thread. There is no work-around for this issue. However, users using waitress behind a reverse proxy server are less likely to have issues if the reverse proxy always reads the full response.
CVSS metrics
7 scores · 5 sources · 3 versions- OSV · PypiEcosystem advisory · calculated6.5MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated5.9MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HDiffers
- NVDNIST5.9MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HDiffers
- OSV · AlpineEcosystem advisory · calculated5.9MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HDiffers
EPSS trend
Probability
1.50%
Chance of exploitation in the next 30 days
Percentile
74%
Versus all other CVEs
30-day change
Increase +0.02 pp
From 1.47% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
1 foundWaitress
Maturity: poc
Weaknesses
CWE · root cause- CWE-248Uncaught ExceptionAn exception is thrown from a function, but it is not caught.
- CWE-362Concurrent Execution using Shared Resource with Improper SynchronizationThe product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.
Affected systems
Known conditions: network-reachable, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.
Agendaless1 product
- waitress≥ 2.1.0, < 2.1.2
Alpine1 product
- py3-waitress< 2.1.2-r0
Debian1 product
- waitress< 2.1.2-1
Pylons1 product
- waitress≥ 2.1.0, < 2.1.2
PyPI1 product
- waitress< 4f6789b035610e0552738cdc4b35ca809a592d48 | ≥ 2.1.0, < 2.1.2
5 vendors · 5 products
References
9 links- github.com/Pylons/waitress/security/advisories/GHSA-f5x9-8jwc-25rwX Refsource CONFIRMWEBAdvisoryThird Party Advisory
- github.com/Pylons/waitress/issues/374X Refsource MISCWEBREPORTExploitIssue TrackingPatchThird Party Advisory
- github.com/Pylons/waitress/commit/4f6789b035610e0552738cdc4b35ca809a592d48X Refsource MISCWEBFIXPatchThird Party Advisory
- github.com/Pylons/waitressPACKAGE