CVE-2023-26049: Infoleak
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: DISPLAYLANGUAGE="b; JSESSIONID=1337; c=d" will be parsed as one cookie, with the name DISPLAYLANGUAGE 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 DISPLAYLANGUAGE cookie value is rendered on the page, an attacker can smuggle the JSESSIONID cookie into the DISPLAYLANGUAGE 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.
Other sources
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:
DISPLAYLANGUAGE="b; JSESSIONID=1337; c=d" will be parsed as one cookie, with the name DISPLAYLANGUAGE and a value of b; JSESSIONID=1337; c=d
instead of 3 separate cookies.
Impact This has security implications because if, say, JSESSIONID is an HttpOnly cookie, and the DISPLAYLANGUAGE cookie value is rendered on the page, an attacker can smuggle the JSESSIONID cookie into the DISPLAYLANGUAGE 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.
Patches 9.4.51.v20230217 - via PR #9352 10.0.15 - via PR #9339 11.0.15 - via PR #9339
Workarounds No workarounds
References https://www.rfc-editor.org/rfc/rfc2965 https://www.rfc-editor.org/rfc/rfc6265
Affected Software
Remediation
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is CVE-2023-26049?
CVE-2023-26049 is a vulnerability in Eclipse Jetty that could allow a remote authenticated attacker to obtain sensitive information by tampering with the cookie parsing mechanism.
How does CVE-2023-26049 impact Jetty?
CVE-2023-26049 impacts Jetty by allowing an attacker to smuggle cookies within other cookies or perform unintended behavior by tampering with the cookie parsing mechanism.
Which versions of Jetty are affected by CVE-2023-26049?
Jetty versions 9.4.51, 9.4.51.v20230217, 10.0.14, 11.0.14, and 12.0.0.beta0 are affected by CVE-2023-26049.
What is the severity of CVE-2023-26049?
CVE-2023-26049 has a severity rating of 4.5 (medium).
How can I fix CVE-2023-26049?
To fix CVE-2023-26049, update Jetty to version 9.4.51, 9.4.51.v20230217, 10.0.14, 11.0.14, or 12.0.0.beta0.