Update Log4j to 2.25.5 and document unfixed Jansi CVE - #16043
Conversation
Override Spring Boot 3.5.16's Log4j 2.24.3 management through the Grails BOM to remediate CVE-2026-49844. Exclude the exact managed Jansi 1.18 coordinate from OSS Index because CVE-2026-8484 affects every available release and has no upstream fix. Assisted-by: opencode:gpt-5.6-sol codegraph
There was a problem hiding this comment.
Pull request overview
Updates Grails’ dependency management and vulnerability-scan configuration to address a newly reported Log4j vulnerability and to document/exempt an unfixed Jansi CVE in Sonatype OSS Index scanning. This fits into the codebase’s BOM-driven dependency governance and the existing build-logic conventions for vulnerability scanning.
Changes:
- Override Spring Boot-managed Log4j from
2.24.3to2.25.5via the Grails BOM, including importinglog4j-bomand managing key Log4j modules through the sharedlog4j2.versionproperty. - Add a documented OSS Index exclusion for
org.fusesource.jansi:jansi:1.18due to a CVE with no fixed upstream release.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
dependencies.gradle |
Adds log4j2.version and wires Log4j BOM + module constraints to ensure Grails BOM manages Log4j at 2.25.5. |
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/VulnerabilityScanPlugin.groovy |
Documents and excludes the specific Jansi coordinate from OSS Index scans due to no available upstream fix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🚨 TestLens detected 2 failed tests 🚨Here is what you can do:
Test SummaryCI - Groovy Joint Validation Build / build_grails > :grails-test-examples-app1:integrationTest
CI - Groovy Joint Validation Build / build_grails > :grails-test-examples-scaffolding:integrationTest
🏷️ Commit: 23c2c58 Test FailuresAsyncPromiseSpec > async service processes string input (:grails-test-examples-app1:integrationTest in CI - Groovy Joint Validation Build / build_grails)UserControllerSpec > User list (:grails-test-examples-scaffolding:integrationTest in CI - Groovy Joint Validation Build / build_grails)Muted TestsSelect tests to mute in this pull request:
Reuse successful test results:
Click the checkbox to trigger a rerun:
Learn more about TestLens at testlens.app. |
borinquenkid
left a comment
There was a problem hiding this comment.
This is just dependency and only flaky tests failed
Description
Remediates the vulnerability findings reported by the scheduled OSS Index scan on
7.0.x:2.24.3management with fixed Log4j2.25.5.grails-gradle-bomandgrails-base-bomimport the Log4j BOM, and all three published Grails BOMs directly manage the API, Core, JUL, SLF4J 2 implementation, and SLF4J bridge modules through the sharedlog4j2.versionproperty.org.fusesource.jansi:jansi:1.18coordinate from OSS Index. FuseSource Jansi is unmaintained, every available release through2.4.3is affected, and no fixed upstream release exists. The exemption includes a removal condition for a future migration or patched release.The Log4j upgrade also brings
biz.aQute.bnd.annotation:7.1.0; the shared BOM maps now manage that winning version instead of Spring Boot's older7.0.0, fixing the dependency-version validation failure from the initial PR run.The Jansi coordinate is not replaced with
org.jline:jansi: that artifact uses different Java packages, and its native implementation is not confirmed as a security fix for CVE-2026-8484.Verification
validateDependencyVersions: 214 tasks successful.validateDependencyVersions: 11 tasks successful.grails-gradle-bom,grails-base-bom, andgrails-bomgenerated POMs manage Bnd7.1.0and the five Log4j modules through shared properties.grails-gradle-bomandgrails-base-bomimportlog4j-bomthrough${log4j2.version}with value2.25.5.git diff --checkpasses.No user-facing API changes or documentation updates are needed for this dependency/security-scan configuration change.