CVE-2023-40167: Jetty accepts "+" prefixed value in Content-Length
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.89462%
CWE
Published
9/14/2023
Updated
11/6/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.eclipse.jetty:jetty-http | maven | >= 9.0.0, <= 9.4.51 | 9.4.52 |
| org.eclipse.jetty:jetty-http | maven | >= 10.0.0, <= 10.0.15 | 10.0.16 |
| org.eclipse.jetty:jetty-http | maven | >= 11.0.0, <= 11.0.15 | 11.0.16 |
| org.eclipse.jetty:jetty-http | maven | = 12.0.0 | 12.0.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability description explicitly states Jetty improperly accepts '+' prefixed Content-Length values. The HTTP specification (RFC 9110 Section 8.6) mandates Content-Length must be a string of digits. The most logical location for this parsing would be in the HTTP header processing logic, specifically in Content-Length handling. Jetty's HttpParser class contains methods for header parsing, and the Content-Length handling would need to validate/convert the header value. The presence of a '+' acceptance indicates insufficient validation in this parsing function.