In Eclipse Jetty, the Digest authentication server-side component uses ISO-8859-1 to encode the password as bytes. This was done because the initial specification for HTTP did not specify explicitly a charset, and it was assumed to be ISO-8859-1 for historical reasons. If the password contains characters that cannot be represented in ISO-8859-1, they are silently replaced by `?`. This happens with passwords that contain Chinese, Cyrillic or Greek characters, for example: `αβ123` converts to `??123`. An attacker can send a request with a digest `Authorization` header crafted with a password made of only `?` characters; the server would match any password of the same length that contains non-ISO-8859-1 characters. Recent HTTP Digest [RFC-7616](https://datatracker.ietf.org/doc/html/rfc7616) supports a `charset` parameters that defaults to UTF-8 that allows for correct encoding/decoding of passwords.
| Vendor | Product | Versions |
|---|---|---|
| eclip | jetty | maven/org.eclipse.jetty:jetty-security: >= 9.4.0.v20161208, <= 9.4.58.v20250814, maven/org.eclipse.jetty:jetty-security: >= 10.0.0, <= 10.0.26, maven/org.eclipse.jetty:jetty-security: >= 11.0.0, <= 11.0.26, maven/org.eclipse.jetty:jetty-security: >= 12.0.0, <= 12.0.35, maven/org.eclipse.jetty.ee8:jetty-ee8-security: >= 12.0.0, <= 12.0.35, maven/org.eclipse.jetty.ee9:jetty-ee9-security: >= 12.0.0, <= 12.0.35, maven/org.eclipse.jetty:jetty-security: >= 12.1.0, <= 12.1.9, maven/org.eclipse.jetty.ee8:jetty-ee8-security: >= 12.1.0, <= 12.1.9, maven/org.eclipse.jetty.ee9:jetty-ee9-security: >= 12.1.0, <= 12.1.9 |
Downstream vendors/products affected by this vulnerability
| Vendor | Product | Source | Confidence |
|---|---|---|---|
| atlassian | fisheye | cert_advisory | 90% |
| atlassian | confluence | cert_advisory | 90% |
| atlassian | crucible | cert_advisory | 90% |
| atlassian | bitbucket | cert_advisory | 90% |
| atlassian | jira | cert_advisory | 90% |
Loading…