VYPR
High severityNVD Advisory· Published Jun 26, 2018· Updated Aug 5, 2024

CVE-2017-7656

CVE-2017-7656

Description

In Eclipse Jetty, versions 9.2.x and older, 9.3.x (all configurations), and 9.4.x (non-default configuration with RFC2616 compliance enabled), HTTP/0.9 is handled poorly. An HTTP/1 style request line (i.e. method space URI space version) that declares a version of HTTP/0.9 was accepted and treated as a 0.9 request. If deployed behind an intermediary that also accepted and passed through the 0.9 version (but did not act on it), then the response sent could be interpreted by the intermediary as HTTP/1 headers. This could be used to poison the cache if the server allowed the origin client to generate arbitrary content in the response.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Jetty mishandles HTTP/0.9 request lines, enabling request smuggling and cache poisoning when deployed behind an intermediary.

Vulnerability

In Eclipse Jetty, versions 9.2.x and older, 9.3.x (all configurations), and 9.4.x in non-default configuration with RFC2616 compliance enabled, HTTP/0.9 is handled poorly. An HTTP/1 style request line (i.e., method space URI space version) that declares a version of HTTP/0.9 is accepted and treated as a 0.9 request [1][3]. This means the server responds without HTTP status line or headers, sending only the entity body. Affected versions include Jetty <= 9.3.23.v20180228 and >= 9.4.0 through <= 9.4.10.v20180503 [3].

Exploitation

An attacker must be able to send requests through an intermediary (such as a reverse proxy or cache) that also accepts and passes through HTTP/0.9 version but does not act on it (i.e., it forwards the request as-is) [1]. The attacker sends a crafted request with a line such as GET / HTTP/0.9 to the origin Jetty server. Since Jetty treats this as an HTTP/0.9 request, it responds with raw content (no HTTP headers). The intermediary, expecting an HTTP/1 response, may misinterpret this raw content from Jetty as HTTP/1 headers, thereby allowing the attacker to inject arbitrary headers into the response seen by the next client [1][2]. No authentication is required; the attack is performed over the network.

Impact

If the server allows the origin client to generate arbitrary content in the response (i.e., the attacker can control parts of the response body), the attacker can poison the cache of the intermediary [1]. This can lead to stored cross-site scripting (XSS) or other attacks against users who subsequently receive the cached malicious response. The confidentiality, integrity, and availability of the system may be compromised, depending on the cache's role.

Mitigation

For versions 9.3.x, upgrade to 9.3.24.v20180605 or later; for 9.4.x, upgrade to 9.4.11.v20180605 or later [3]. The Jetty bug tracker confirms the fix was applied [2]. Administrators should also ensure that intermediaries (reverse proxies, caches) block or sanitize HTTP/0.9 requests, or disable RFC2616 compliance in Jetty configurations to avoid the vulnerable code path.

AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
org.eclipse.jetty:jetty-serverMaven
< 9.3.24.v201806059.3.24.v20180605
org.eclipse.jetty:jetty-serverMaven
>= 9.4.0, < 9.4.11.v201806059.4.11.v20180605

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

19

News mentions

0

No linked articles in our index yet.