Miggo Logo

CVE-2023-40167: Jetty accepts "+" prefixed value in Content-Length

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.89462%
Published
9/14/2023
Updated
11/6/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.eclipse.jetty:jetty-httpmaven>= 9.0.0, <= 9.4.519.4.52
org.eclipse.jetty:jetty-httpmaven>= 10.0.0, <= 10.0.1510.0.16
org.eclipse.jetty:jetty-httpmaven>= 11.0.0, <= 11.0.1511.0.16
org.eclipse.jetty:jetty-httpmaven= 12.0.012.0.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot 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.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t J*tty ****pts t** '+' ***r**t*r pro****in* t** *ont*nt-l*n*t* v*lu* in * *TTP/* *****r *i*l*. T*is is mor* p*rmissiv* t**n *llow** *y t** R** *n* ot**r s*rv*rs routin*ly r*j**t su** r*qu*sts wit* *** r*spons*s. T**r* is no known *xploit

Reasoning

T** vuln*r**ility **s*ription *xpli*itly st*t*s J*tty improp*rly ****pts '+' pr**ix** *ont*nt-L*n*t* v*lu*s. T** *TTP sp**i*i**tion (R** **** S**tion *.*) m*n**t*s *ont*nt-L*n*t* must ** * strin* o* *i*its. T** most lo*i**l lo**tion *or t*is p*rsin*