CVE-2026-2332

HTTP Request Smuggling
Affects
jetty-http
in
Jetty
NES for Jetty
Versions
>= 12.1.0, <= 12.1.6, >= 12.0.0, <= 12.0.32, >= 11.0.0, <= 11.0.27, >= 10.0.0, <= 10.0.27, >= 9.4.0, <= 9.4.59
Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

CVE-2026-2332 affects Jetty due to improper parsing of quoted strings in HTTP/1.1 chunked transfer encoding. This flaw allows attackers to perform request smuggling attacks. When Jetty encounters a \r\n\ inside a quoted string, it incorrectly stops parsing the chunk header instead of treating it as an error. This behavior leads to the potential for multiple HTTP responses being processed from a single request. The vulnerability can result in various security issues, including cache poisoning and access control bypass. Attackers can inject arbitrary HTTP requests, which may compromise user sessions. To exploit this, a crafted payload can be sent to the server, causing it to misinterpret the requests. The recommended fix is to ensure that chunk framing and extensions are parsed according to RFC 9112, treating any CRLF within quoted strings as an error. Currently, there are no patches or workarounds available for this vulnerability. Developers should prioritize addressing this issue to secure their applications.

Overview

Eclipse Jetty is a widely used Java-based web server and servlet container that supports HTTP/1.1 and provides a robust platform for developing web applications. It is known for its scalability and performance, making it a popular choice for both small and large-scale deployments.

A vulnerability has been identified in Eclipse Jetty related to request smuggling when using chunk extensions, specifically in the HTTP/1.1 parser. This issue arises because Jetty improperly terminates chunk extension parsing at carriage return and line feed sequences within quoted strings, allowing attackers to inject smuggled requests.

This vulnerability can be exploited by crafting specific HTTP requests that take advantage of the parser's behavior, potentially leading to unauthorized access or manipulation of web traffic. It is crucial for users of Eclipse Jetty to be aware of this issue and apply necessary mitigations.

According to the Common Weakness Enumeration (CWE), this vulnerability falls under CWE-444: Incomplete Control of Generation of Code ('Code Injection'). This classification indicates that the product does not adequately handle input that could alter the intended behavior of the request processing, leading to security risks.

Details

Module Info

Vulnerability Info

CVE-2026-2332 affects Jetty due to improper parsing of quoted strings in HTTP/1.1 chunked transfer encoding. This flaw allows attackers to perform request smuggling attacks. When Jetty encounters a \r\n inside a quoted string, it incorrectly stops parsing the chunk header instead of treating it as an error. This behavior leads to the potential for multiple HTTP responses being processed from a single request. The vulnerability can result in various security issues, including cache poisoning and access control bypass. Attackers can inject arbitrary HTTP requests, which may compromise user sessions. To exploit this, a crafted payload can be sent to the server, causing it to misinterpret the requests. The recommended fix is to ensure that chunk framing and extensions are parsed according to RFC 9112, treating any CRLF within quoted strings as an error. Currently, there are no patches or workarounds available for this vulnerability. Developers should prioritize addressing this issue to secure their applications.

Mitigation

Only recent versions of Eclipse Jetty are community-supported. Only community-supported versions will receive updates to address this issue. For more information, see GitHub link here.

Users of the affected components should apply one of the following mitigations:

  • Upgrade affected applications to a supported version of Eclipse Jetty (12.0.33 or 12.1.7)
  • Leverage a commercial support partner like HeroDevs for post-EOL security support

Steps To Reproduce

Set Up Affected Environment: Deploy an affected version of Eclipse Jetty on a server configured behind a front-end reverse proxy or load balancer. Ensure the proxy forwards HTTP/1.1 requests to the Jetty backend.

Prepare the Crafted Payload: Construct a malicious HTTP request that utilizes the Transfer-Encoding: chunked header. Within the request body, create a chunk extension that includes an unclosed double quote immediately preceding a carriage return and line feed (CRLF). For example: 1;ext="val\r\n.

Embed the Smuggled Request: Directly below the malformed chunk extension, append a secondary, smuggled HTTP request payload (e.g., GET /smuggled HTTP/1.1) designed to access a restricted endpoint or trigger an unauthorized action.

Send the Crafted Request: Transmit the constructed payload through the reverse proxy to the Jetty server. The proxy should forward the payload as a single message, while the vulnerable Jetty parser terminates chunk extension parsing early at the CRLF instead of throwing an error, treating the rest of the body as a separate request.

Verify Request Smuggling: Monitor the server’s response and access logs. If the Jetty server processes the smuggled request and returns a response for the unauthorized /smuggled endpoint, it confirms the parser was tricked and security controls were bypassed.

Post-Remediation Verification: After applying a patch or migrating to a fixed version of Eclipse Jetty, repeat steps 2 through 4. Confirm that the Jetty HTTP/1.1 parser correctly flags the unclosed quote before the CRLF as an error (typically returning an HTTP 400 Bad Request) and refuses to process the smuggled payload.

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
High
ID
CVE-2026-2332
PROJECT Affected
jetty-http
Versions Affected
>= 12.1.0, <= 12.1.6, >= 12.0.0, <= 12.0.32, >= 11.0.0, <= 11.0.27, >= 10.0.0, <= 10.0.27, >= 9.4.0, <= 9.4.59
NES Versions Affected
Published date
March 6, 2026
≈ Fix date
March 6, 2026
Category
HTTP Request Smuggling
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Jetty
Rss feed icon
Subscribe via RSS
or

By clicking “submit” I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.