Learn about CVE-2023-40167 affecting Jetty, a Java-based web server accepting `+` values in Content-Length field, potentially leading to request smuggling scenarios. Find mitigation steps and impacted versions.
Jetty is a Java based web server and servlet engine with a vulnerability that allows it to accept a
+
character preceding the content-length value in an HTTP/1 header field. This behavior, present in versions prior to 9.4.52, 10.0.16, 11.0.16, and 12.0.1, is more permissive than the RFC allows, potentially leading to request smuggling scenarios. Although there is no known exploit, the risk exists when combined with other servers not rejecting such requests.
Understanding CVE-2023-40167
What is CVE-2023-40167?
Jetty is susceptible to improper handling of length parameter inconsistency (CWE-130), as it accepts a
+
prefixed value in the Content-Length field of HTTP/1 header, breaching RFC standards. This vulnerability could facilitate request smuggling in certain scenarios.
The Impact of CVE-2023-40167
The impact of CVE-2023-40167 lies in the potential for request smuggling due to Jetty's leniency towards accepting
+
preceding the content-length. This deviation from standards poses a security risk to systems running affected versions.
Technical Details of CVE-2023-40167
Vulnerability Description
Jetty versions before 9.4.52, 10.0.16, 11.0.16, and 12.0.1 incorrectly accept the
+
character before the content-length value in HTTP/1 headers, contrary to RFC standards. This could lead to request smuggling threats.
Affected Systems and Versions
Jetty versions affected by this vulnerability include 9.0.0 to 9.4.51, 10.0.0 to 10.0.15, 11.0.0 to 11.0.15, and 12.0.0.
Exploitation Mechanism
While there are no known exploit scenarios for CVE-2023-40167, the risk lies in the possibility of request smuggling, particularly when Jetty is paired with servers that do not reject such non-compliant requests.
Mitigation and Prevention
Immediate Steps to Take
To address CVE-2023-40167, users should update their Jetty installations to versions 9.4.52, 10.0.16, 11.0.16, or 12.0.1 which contain patches for this vulnerability.
Long-Term Security Practices
It is crucial to regularly monitor and apply security updates to Jetty to prevent vulnerabilities like CVE-2023-40167. Additionally, security training and awareness can help in identifying and mitigating such risks.
Patching and Updates
Stay informed about security advisories from Jetty and promptly apply patches to ensure your systems are protected against known vulnerabilities.