Repository navigation
Bump Liberica base image and CI JDK to 21.0.13.0.3+5 (eMudhra CA compromise) - #254
Merged
Merged
Conversation
v2.15.1 calls the floating scanner-action@v2, which renamed its token input to gh_token, so the scan's reporting step failed with 'Requires authentication'.
|
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.



Why
bellsoft/liberica-openjre-alpine:21.0.12.1still trusts the roots behind the compromised eMudhra intermediate CAs, including the AAA Certificate Services cross-sign path. Java checks neither revocation nor Certificate Transparency by default, so kakka's outbound TLS would accept certificates from those intermediates. That includes the Auth0 client-credentials calls topartner.entur.org/internal.entur.org, where an attacker in the network path could capture the client secret. BellSoft lists21.0.13.0.3+5as the fixed build.CI had the same problem:
setup-javawas pinned to Liberica21.0.7+9, a pre-fix build.Change
Dockerfile:21.0.12.1→21.0.13.0.3-5in both stages. Exact tag; Java major version unchanged. The OpenSSLapk upgradesteps are unchanged..github/workflows/push.yml:maven-verify(including the Sonar step) now runs on Liberica21.0.13.0.3+5. setup-java'slibericadistribution can't select this build: it turns21.0.13.0.2+5and21.0.13.0.3+5into the same semver (21.0.13+5). So the workflow downloads the exact tarball from BellSoft's GitHub release over HTTPS only (--proto '=https'), checks its SHA-256, and installs it withdistribution: jdkfile. Same approach as Bump Liberica base image and CI JDK to 25.0.5.0.3+5 (eMudhra CA compromise) extime#634 and Bump Liberica base image and CI JDK to 21.0.13.0.3+5 (eMudhra CA compromise) gibil#178..github/workflows/push.yml:gha-securitydocker-scanv2.15.1→v2.17.0. v2.15.1 calls the floatingscanner-action@v2, which has since renamed itstokeninput togh_token, so the scan's reporting step failed withFailed to fetch code scanning alerts: Requires authentication. Not caused by the image change: kakka'smasterwould hit the same failure on its next push. irkalla already uses v2.17.0 with the same call.Verification
~/.claude/skills/emudhra-fix/verify.sh(OpenJDK CheckCerts + BellSoft 12-chain test, with the image's own java, linux/amd64). Both images were built from this repo's Dockerfile with a jar built from this branch:Image digest tested:
sha256:0bd71450a136f4eb10caf7054fcf540bababa0993d36ce9220512a8957e6b06f(local amd64 build)Smoke test: both images start as
appuser, log JSON ("Starting App … using Java 21.0.13.0.3" on the new one) and stop at the same missing cluster-mounted file,/etc/tiamat-config/tiamat-exports.yml.CI JDK tarball: SHA-1 matches BellSoft's published
080b8962…; the workflow pins the SHA-256 (f6bac5c8…) computed from that verified file. Itscacertshas no emSign ECC Root CA - G3 or AAA Certificate Services. It is the same build as the JRE in the verified image.Not covered: advisory
-noct-hosts, OS store (no curl in image).Heads-up for a later Renovate bump
src/main/resources/logback.xmluses<if condition='…'>. That stops working with logback 1.5.38 (Spring Boot 4.1.1,superpom7.1.0): logback silently creates no appenders and the app logs nothing. kakka is onsuperpom4.10.0, so it is fine today, but the condition should move to the<condition>element (placed before<if>) when bumping. See entur/extime#635.After merge
Re-run
verify.shagainst the deployed image digest.