CVE-2023-34981:
Apache Tomcat vulnerable to information leak
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.45964%
CWE
Published
6/21/2023
Updated
10/9/2024
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.apache.tomcat.embed:tomcat-embed-core | maven | = 11.0.0-M5 | 11.0.0-M6 |
org.apache.tomcat.embed:tomcat-embed-core | maven | = 10.1.8 | 10.1.9 |
org.apache.tomcat.embed:tomcat-embed-core | maven | = 9.0.74 | 9.0.75 |
org.apache.tomcat:tomcat-coyote | maven | = 8.5.88 | 8.5.89 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from how headers were processed in AjpProcessor.prepareResponse(). The pre-patch code used a single-pass for-loop that: 1) Only generated SEND_HEADERS during the first iteration 2) Could exit without sending headers if all were removed via error handling 3) Didn't account for zero-header responses. The commit introduced retry logic (while-loop with header regeneration) to ensure at least one SEND_HEADERS is always sent, confirming the original function's flawed control flow was the root cause.