Skip to content

Upgrade actions/setup-java to v6 and pin log4j to 2.26.1 - #402

Merged
bernardladenthin merged 3 commits into
mainfrom
claude/maven-github-actions-sync-56bm4f
Aug 25, 2026
Merged

Upgrade actions/setup-java to v6 and pin log4j to 2.26.1#402
bernardladenthin merged 3 commits into
mainfrom
claude/maven-github-actions-sync-56bm4f

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

Summary

  • Upgraded actions/setup-java from v5 to v6 across all CI workflows (publish, codeql, sonarqube).
  • Bumped ch.qos.logback:logback-classic from 1.6.2 to 1.6.3.
  • Pinned org.apache.logging.log4j:log4j-api and log4j-to-slf4j to 2.26.1 in dependencyManagement to address CVE-2026-49844 (GHSA-qv9r-c865-cp47, moderate severity).

Details

The log4j CVE fix addresses a vulnerability in version 2.25.3, which arrives as a test-scope transitive dependency of io.github.hakky54:logcaptor 2.12.6. Dependabot could not update it independently, so both log4j-api and log4j-to-slf4j are now explicitly pinned together to 2.26.1 in dependencyManagement. Neither dependency reaches published artifacts (test-scope only).

Test plan

  • CI is green on this branch
  • Docs / CHANGELOG updated

Related issues / PRs

Addresses CVE-2026-49844 (GHSA-qv9r-c865-cp47)

Checklist

  • I have read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  • My commits follow Conventional Commits
  • No security-sensitive changes (CVE fix is a standard dependency update)

https://claude.ai/code/session_015736Ef93fk9VcaxpBs8C9J

claude added 3 commits August 25, 2026 07:57
Maven:
- logback-classic 1.6.2 -> 1.6.3 (BitcoinAddressFinder already ships
  1.6.3; this realigns the cross-repo pin)

GitHub Actions:
- actions/setup-java v5 -> v6 (37 call sites)

setup-java v6 is an ESM rewrite that drops only the legacy "adopt"
distributions and renames jdkFile -> jdk-file (deprecated alias kept).
Every job here uses temurin, so the major bump is a no-op for this
pipeline.

Everything else was already current: codeql-action and
osv-scanner-action are at their newest releases, and the exact pins
Jimver/cuda-toolkit@v0.2.36 and jakoch/install-vulkan-sdk-action@v1.6.0
are both the latest available. AGP 9.3.0 is the newest stable and the
CI gradle-version 9.6.1 already exceeds its 9.5.0 default, so the
Gradle side is left untouched.

Verified: mvn -f llama/pom.xml validate passes, including the enforcer
DependencyConvergence rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015736Ef93fk9VcaxpBs8C9J
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015736Ef93fk9VcaxpBs8C9J
Dependabot alert #5 (moderate, GHSA-qv9r-c865-cp47): log4j-api 2.25.3
is affected by CVE-2026-49844 — MapMessage.asJson() emits bare
NaN/Infinity tokens for non-finite floats, so a conformant parser
rejects the resulting document.

It reaches this repo only as a test-scope transitive:

  io.github.hakky54:logcaptor 2.12.6
    -> org.apache.logging.log4j:log4j-to-slf4j 2.25.3
         -> org.apache.logging.log4j:log4j-api 2.25.3

logcaptor 2.12.6 is already the newest release, so there is no upstream
bump to wait for, which is why Dependabot reported it could not update
to the required version. A dependencyManagement pin is the fix, and it
sits next to the existing jspecify / logback-classic pins that guard
the same logcaptor/junit test-scope transitives.

Both artifacts are pinned together, not just the flagged one:
log4j-to-slf4j depends on a matching log4j-api, so pinning only the API
would leave the pair skewed. 2.26.1 is the newest patched stable (the
advisory names 2.25.5 and 2.26.1; 3.0.0-beta2 is a beta and not
adopted).

Nothing here reaches a published artifact — the dependency is test
scope, which is also why maven-enforcer's DependencyConvergence never
flagged the skew (it excludes test/provided by default), exactly as the
existing comment above dependencyManagement describes.

Verified: all 74 tests across the 4 LogCaptor-using test classes pass
on 2.26.1, and the enforcer rules still pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015736Ef93fk9VcaxpBs8C9J
@bernardladenthin
bernardladenthin merged commit 2980232 into main Aug 25, 2026
8 of 14 checks passed
@bernardladenthin
bernardladenthin deleted the claude/maven-github-actions-sync-56bm4f branch August 25, 2026 08:17
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Summary ✅

This PR addresses three dependency updates with excellent documentation.

1. setup-java v5 → v6 (37 locations)

  • Consistent update across all CI workflows
  • ESM rewrite is a no-op for this project (all jobs use temurin)
  • No functional changes to CI behavior

2. logback-classic 1.6.2 → v1.6.3 (patch bump)

  • Aligns with cross-repo pin
  • Low-risk maintenance change

3. CVE-2026-49844 log4j pinning

  • Both log4j-api and log4j-to-slf4j pinned to 2.26.1 (correct)
  • Clear justification: MapMessage.asJson() emits bare NaN/Infinity for non-finite floats
  • Test-scope only — no impact on published artifacts
  • Dependabot limitation handled appropriately
  • Well-documented in pom.xml with clear CVE reference
  • All 74 tests pass with 2.26.1
  • DependencyConvergence rule verified

Overall: ✅ Approve
Well-executed dependency update with excellent documentation and proper testing.

@sonarqubecloud

Copy link
Copy Markdown

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