Skip to content

Build on a JDK with the eMudhra fix; note it for customers - #36

Merged
sharanmoore merged 3 commits into
mainfrom
sharan/pla-176-java-jdk-note
Oct 22, 2026
Merged

sharanmoore merged 3 commits into
mainfrom
sharan/pla-176-java-jdk-note

Conversation

@sharanmoore

@sharanmoore sharanmoore commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Part of PLA-176 (eMudhra intermediate CA compromise).

Why

JDKs ship their own cacerts, so a JVM keeps trusting the compromised eMudhra intermediates until the JDK itself is updated. That covers both our CI and release builds (Maven Central / Sonatype traffic, with deploy credentials) and customers' apps.

What

  • CI and release: Temurin 17 → Oracle JDK 25. The last CI run resolved Temurin 17.0.19+10, which is unfixed. No vendor has a fixed 17 build yet: Temurin, Zulu, Corretto and Microsoft all top out at 17.0.20.x. Oracle's fixed 17 and 21 builds are OTN-licensed. Oracle 25.0.5.0.2 is the first fixed build that's free to download: download.oracle.com/java/25/latest has the same checksum as the 25.0.5.0.2 archive.
  • pom: source/target 17 → maven.compiler.release 17. The bytecode target stays Java 17, so customers on 17 and 21 are unaffected. release also checks that the code only uses Java 17 APIs, which source/target doesn't do on a newer JDK. CI no longer runs the tests on a JDK 17 runtime. We accepted that trade-off.
  • README security note. The client uses HttpClient with no custom TLS config, so customers get the fix by updating their JDK. The note lists the fixed builds for 17+ and Oracle's blocked.certs / revocation-check workarounds for customers whose vendor hasn't shipped yet.

Version wording

The OpenJDK advisory lists 17.0.21, 21.0.13, 25.0.5 and 27.0.1 as affected. The fixed builds are the four-part ones (17.0.21.0.2 etc.). So the note says "up to and including 17.0.21", not "17.0.21 or later".

The client trusts the JDK's bundled cacerts, so customers need a JDK
build with the eMudhra fix. Part of PLA-176.
Temurin has no fixed build yet; Oracle 25.0.5.0.2 is the first free
one. Switch the pom to maven.compiler.release 17 so the bytecode
target and API surface stay Java 17. Also document the blocked.certs
and revocation-check workarounds for customers. Part of PLA-176.
@sharanmoore sharanmoore changed the title [docs] note fixed JDKs for eMudhra CA compromise Build on a JDK with the eMudhra fix; note it for customers Oct 22, 2026
@sharanmoore
sharanmoore marked this pull request as ready for review October 22, 2026 10:58
setup-java v4 is deprecated and warns on every run.
@sharanmoore
sharanmoore merged commit 5be75de into main Oct 22, 2026
1 check passed
@sharanmoore
sharanmoore deleted the sharan/pla-176-java-jdk-note branch October 22, 2026 11:51
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