PT-2022-14744 · Undertow · Undertow
Jason Lee
·
Published
2022-08-05
·
Updated
2022-08-11
·
CVE-2022-2053
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
Undertow versions prior to 2.2.19.Final
Undertow versions prior to 2.3.0.Alpha2
Description
When a POST request comes through AJP and the request exceeds the max-post-size limit (maxEntitySize), Undertow's AjpServerRequestConduit implementation closes a connection without sending any response to the client/proxy. This behavior results in that a front-end proxy marking the backend worker (application server) as an error state and not forward requests to the worker for a while. In mod cluster, this continues until the next STATUS request (10 seconds intervals) from the application server updates the server state. So, in the worst case, it can result in "All workers are in error state" and mod cluster responds "503 Service Unavailable" for a while (up to 10 seconds). In mod proxy balancer, it does not forward requests to the worker until the "retry" timeout passes. However, luckily, mod proxy balancer has "forcerecovery" setting (On by default; this parameter can force the immediate recovery of all workers without considering the retry parameter of the workers if all workers of a balancer are in error state.). An attacker could use this behavior to send a malicious request and trigger server errors, resulting in DoS (denial of service).
Recommendations
For Undertow versions prior to 2.2.19.Final, update to Undertow 2.2.19.Final or later.
For Undertow versions prior to 2.3.0.Alpha2, update to Undertow 2.3.0.Alpha2 or later.
Fix
Resource Exhaustion
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Undertow