VYPR
Low severityNVD Advisory· Published Apr 18, 2023· Updated Feb 13, 2025

Cookie parsing of quoted values can exfiltrate values from other cookies in Eclipse Jetty

CVE-2023-26049

Description

Jetty is a java based web server and servlet engine. Nonstandard cookie parsing in Jetty may allow an attacker to smuggle cookies within other cookies, or otherwise perform unintended behavior by tampering with the cookie parsing mechanism. If Jetty sees a cookie VALUE that starts with " (double quote), it will continue to read the cookie string until it sees a closing quote -- even if a semicolon is encountered. So, a cookie header such as: DISPLAY_LANGUAGE="b; JSESSIONID=1337; c=d" will be parsed as one cookie, with the name DISPLAY_LANGUAGE and a value of b; JSESSIONID=1337; c=d instead of 3 separate cookies. This has security implications because if, say, JSESSIONID is an HttpOnly cookie, and the DISPLAY_LANGUAGE cookie value is rendered on the page, an attacker can smuggle the JSESSIONID cookie into the DISPLAY_LANGUAGE cookie and thereby exfiltrate it. This is significant when an intermediary is enacting some policy based on cookies, so a smuggled cookie can bypass that policy yet still be seen by the Jetty server or its logging system. This issue has been addressed in versions 9.4.51, 10.0.14, 11.0.14, and 12.0.0.beta0 and users are advised to upgrade. There are no known workarounds for this issue.

AI Insight

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

Jetty's nonstandard cookie parsing allows cookie smuggling, enabling attackers to bypass security controls and exfiltrate HttpOnly cookies.

CVE-2023-26049 is a vulnerability in Eclipse Jetty's cookie parsing mechanism. The core issue is that when a cookie VALUE starts with a double quote ("), Jetty's parser continues reading until a closing quote is found, even across semicolons that normally separate cookie attributes or individual cookies [3]. This deviates from the cookie parsing rules defined in RFC 6265, which treats semicolons as delimiters between separate cookies or cookie attributes [1]. Consequently, a malformed cookie header like DISPLAY_LANGUAGE="b; JSESSIONID=1337; c=d" is parsed as a single cookie named DISPLAY_LANGUAGE with the value b; JSESSIONID=1337; c=d, instead of three distinct cookies [3]. This nonstandard behavior is the root cause of the vulnerability.

To exploit this, an attacker with the ability to inject arbitrary cookie values into a user's browser (e.g., via a cross-site scripting or cookie injection attack) can craft a cookie that smuggles sensitive cookies, such as a session identifier, inside the value of another cookie. For instance, if a JSESSIONID cookie is set with the HttpOnly flag, it normally cannot be accessed by client-side scripts. However, by creating a DISPLAY_LANGUAGE cookie with a value that includes the victim's JSESSIONID (e.g., through a known or predicted string), the attacker can cause the server to log or reflect the combined value [3]. The attack requires no authentication on the part of the attacker beyond the ability to set a cookie; the server automatically processes the smuggled data as part of the cookie parsing.

The impact is significant: an attacker can bypass security policies enforced by intermediary devices (such as web application firewalls or proxies) that rely on cookie semantics, because the smuggled cookie is hidden inside another cookie's value. Additionally, if the server outputs the smuggled DISPLAY_LANGUAGE value (e.g., in an error message or reflected response), the attacker can exfiltrate sensitive cookies like session IDs, potentially leading to session hijacking [3]. This undermines the protection offered by the HttpOnly flag, as the attacker effectively uses server-side processing to extract the cookie data.

Mitigation

Users should upgrade to Jetty versions 9.4.51, 10.0.14, 11.0.14, or 12.0.0.beta0, which address the issue by implementing RFC-compliant cookie parsing [3][4]. No workarounds are available [3]. The vulnerability received a CVSS score (not specified in the provided data), and given its potential for session manipulation and bypass of security controls, it is recommended to apply the patch promptly.

AI Insight generated on May 20, 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.4.51.v202302179.4.51.v20230217
org.eclipse.jetty:jetty-serverMaven
>= 10.0.0, < 10.0.1410.0.14
org.eclipse.jetty:jetty-serverMaven
>= 11.0.0, < 11.0.1411.0.14
org.eclipse.jetty:jetty-serverMaven
>= 12.0.0alpha0, < 12.0.0.beta012.0.0.beta0

Affected products

13

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

12

News mentions

0

No linked articles in our index yet.