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.
No workarounds
{ "nvd_published_at": "2023-04-18T21:15:09Z", "cwe_ids": [ "CWE-200" ], "severity": "LOW", "github_reviewed": true, "github_reviewed_at": "2023-04-18T22:19:57Z" }