Skip to content

[GEODE-10623] Remediation of CVE-2026-64607 - #8050

Merged
JinwooHwang merged 4 commits into
apache:developfrom
JinwooHwang:feature/GEODE-10623
Sep 4, 2026
Merged

[GEODE-10623] Remediation of CVE-2026-64607#8050
JinwooHwang merged 4 commits into
apache:developfrom
JinwooHwang:feature/GEODE-10623

Conversation

@JinwooHwang

Copy link
Copy Markdown
Contributor

Remediation of CVE-2026-64607

For all changes, please confirm:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
  • Has your PR been rebased against the latest commit within the target branch (typically develop)?
  • Is your initial contribution a single, squashed commit?
  • Does gradlew build run cleanly?
  • Have you written or updated unit tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

JinwooHwang and others added 3 commits September 4, 2026 06:01
HttpClient 5.5 changed the hostname verification default on the
DefaultClientTlsStrategy(SSLContext, HostnameVerifier) constructor. It
previously passed HostnameVerificationPolicy.CLIENT, letting the supplied
verifier alone decide whether a certificate matches the endpoint. It now
passes no policy, which AbstractClientTlsStrategy resolves to BOTH when a
verifier is present, so JSSE endpoint identification runs in addition to
the supplied verifier rather than being replaced by it.

Pass HostnameVerificationPolicy.CLIENT explicitly when the caller provides
a verifier, restoring the documented behavior of
ClusterManagementServiceBuilder.setHostnameVerifier.

When no verifier is supplied, use the single-argument constructor rather
than CLIENT with a null verifier: 5.5 also dropped the substitution of
HttpsSupport.getDefaultHostnameVerifier() for a null verifier, so CLIENT
with null would skip endpoint checking entirely. The single-argument form
keeps the library's own endpoint identification.

This surfaced in ClientClusterManagementSSLTest, whose certificate carries
CN=localhost with no subjectAltName. The reported symptom was misleading:
DefaultHttpClientConnectionOperator performs the TLS upgrade inside its
per-address retry loop, so the handshake failure on 127.0.0.1 was treated
as a reason to try the next address. localhost also resolves to ::1, where
nothing is listening, and that trailing connection refusal was what got
reported.
@JinwooHwang
JinwooHwang merged commit 044a723 into apache:develop Sep 4, 2026
15 checks passed
JinwooHwang added a commit to JinwooHwang/geode that referenced this pull request Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants