fix(deps): update dependency org.eclipse.jetty:jetty-security to v10 [security]#384
Draft
renovate[bot] wants to merge 1 commit into
Draft
Conversation
renovate
Bot
requested review from
NicoPiel,
gibson9583,
jonbartels,
kayyagari,
kpalang,
mgaffigan and
ssrowe
July 24, 2026 13:18
Test Results18 tests - 636 18 ✅ - 636 4s ⏱️ - 2m 38s Results for commit 8a03885. ± Comparison against base commit ac47cc8. This pull request removes 636 tests.♻️ This comment has been updated with latest results. |
jonbartels
approved these changes
Jul 24, 2026
renovate
Bot
force-pushed
the
renovate/maven-org.eclipse.jetty-jetty-security-vulnerability
branch
from
July 24, 2026 23:11
3855e51 to
bf389a4
Compare
mgaffigan
marked this pull request as draft
July 24, 2026 23:13
renovate
Bot
force-pushed
the
renovate/maven-org.eclipse.jetty-jetty-security-vulnerability
branch
from
July 24, 2026 23:21
bf389a4 to
8a03885
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
9.4.57.v20241219→10.0.0Eclipse Jetty Digest Authentication: ISO-8859-1 lossy encoding allows authentication bypass via character substitution
CVE-2026-10050 / GHSA-2fvj-hgj9-j2gr
More information
Details
Summary
The
DigestAuthentication.apply()method in Jetty's HTTP client usesgetBytes(StandardCharsets.ISO_8859_1)at three locations (lines 171, 179, 196) to compute Digest auth response hashes. ISO-8859-1 silently replaces any character above U+00FF (Chinese, Japanese, Cyrillic, Arabic, Emoji, etc.) with 0x3F (?), causing all such characters to produce identical hash contributions. An attacker who knows a victim's username can bypass Digest authentication by replacing all non-Latin-1 characters in the password with?characters, since the collision password produces the same MD5-based Digest response hash as the original password.Details
Root Cause
In
jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/DigestAuthentication.java, theapply()method computes the three Digest auth hashes (H(A1), H(A2), and the final response) using ISO-8859-1 character encoding:ISO-8859-1 (Latin-1) can only encode characters in the range U+0000–U+00FF. Any character outside this range — including all CJK, Cyrillic, Arabic, Greek, Hangul, and emoji characters — is silently replaced with the byte
0x3F(?).String.getBytes(ISO_8859_1)in Java performs this replacement without any warning or exception.PoC
Multi-language confirmation — all four language passwords below produce the same hash:
Impact
Scenario 1: Authentication Bypass (Collision Attack)
If a service using Jetty for Digest authentication has a user with a non-Latin-1 password (e.g., Chinese, Japanese, Russian), an attacker can authenticate as that user using a collision password where all non-Latin-1 characters are replaced with
?:我爱Java!密码123★??Java!??123?This affects any password containing characters > U+00FF, which covers:
Scenario 2: Denial of Service for Non-Latin-1 Users
Most modern web applications store password hashes computed using UTF-8. When Jetty's Digest client computes a hash with ISO-8859-1, the bytes differ from what the server stored/expects. This means any user with non-ASCII (Latin-1+) characters in their password can never successfully authenticate via Digest auth — even the legitimate user. This is not just a security issue but a functional correctness bug that silently breaks authentication for most non-European-language users.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.