Jetty accepts "+" prefixed value in Content-Length
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 9.4.52, 10.0.16, 11.0.16, 12.0.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
Jetty is a Java based web server and servlet engine. Prior to versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1, Jetty accepts the `+` character proceeding the content-length value in a HTTP/1 header field. This is more permissive than allowed by the RFC and other servers routinely reject such requests with 400 responses. There is no known exploit scenario, but it is conceivable that request smuggling could result if jetty is used in combination with a server that does not close the connection after sending such a 400 response. Versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1 contain a patch for this issue. There is no workaround as there is no known exploit scenario.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- eclipse jetty.project
From 9.0.0 · through 9.4.51; From 10.0.0 · through 10.0.15; From 11.0.0 · through 11.0.15
- org.eclipse.jetty:jetty-httpMaven
From 9.0.0 · fixed in 9.4.52
- org.eclipse.jetty:jetty-httpMaven
From 10.0.0 · fixed in 10.0.16
- org.eclipse.jetty:jetty-httpMaven
From 11.0.0 · fixed in 11.0.16
- org.eclipse.jetty:jetty-httpMaven
From 12.0.0 · fixed in 12.0.1