This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new f6b2daf54c FINERACT-2421: Upgrade dependencies (#5244)
f6b2daf54c is described below
commit f6b2daf54c43ec5db211609cd3f4465a6b664501
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Dec 18 14:14:02 2025 +0100
FINERACT-2421: Upgrade dependencies (#5244)
---
build.gradle | 11 +++++-
buildSrc/build.gradle | 9 +++++
.../groovy/org.apache.fineract.dependencies.gradle | 42 +++++++++++-----------
fineract-client-feign/dependencies.gradle | 2 --
fineract-e2e-tests-core/build.gradle | 4 +--
fineract-e2e-tests-runner/build.gradle | 4 +--
integration-tests/dependencies.gradle | 2 +-
oauth2-tests/dependencies.gradle | 2 +-
twofactor-tests/dependencies.gradle | 2 +-
9 files changed, 48 insertions(+), 30 deletions(-)
diff --git a/build.gradle b/build.gradle
index 1d25ed0514..3817f3769a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -102,7 +102,7 @@ plugins {
id 'com.github.hierynomus.license' version '0.16.1' apply false
id 'com.github.jk1.dependency-license-report' version '2.9' apply false
id 'org.zeroturnaround.gradle.jrebel' version '1.2.0' apply false
- id 'org.springframework.boot' version '3.5.5' apply false
+ id 'org.springframework.boot' version '3.5.6' apply false
id 'net.ltgt.errorprone' version '4.1.0' apply false
id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.23' apply false
id 'com.gorylenko.gradle-git-properties' version '2.4.2' apply false
@@ -163,6 +163,15 @@ allprojects {
mavenCentral()
}
+ configurations.all {
+ resolutionStrategy {
+ dependencySubstitution {
+ // Substitution is to resolve CVE-2025-12183
+ substitute module('org.lz4:lz4-java') using
module('at.yawk.lz4:lz4-java:1.10.1')
+ }
+ }
+ }
+
configurations {
implementation {
exclude group: 'commons-logging', module: 'commons-logging'
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index b54069a3c2..de2e63c05c 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -41,6 +41,15 @@ repositories {
mavenCentral()
}
+configurations.all {
+ resolutionStrategy {
+ dependencySubstitution {
+ // Substitution is to resolve CVE-2025-12183
+ substitute module('org.lz4:lz4-java') using
module('at.yawk.lz4:lz4-java:1.10.1')
+ }
+ }
+}
+
dependencies {
implementation 'com.sun.activation:jakarta.activation'
implementation 'com.sun.mail:jakarta.mail'
diff --git a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
index 8b226bca6f..032e506847 100644
--- a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
+++ b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
@@ -25,12 +25,12 @@ dependencyManagement {
mavenBom 'com.squareup.okhttp3:okhttp-bom:4.12.0'
mavenBom 'org.slf4j:slf4j-bom:2.0.17'
mavenBom 'io.micrometer:micrometer-bom:1.13.6'
- mavenBom 'org.springframework.boot:spring-boot-dependencies:3.5.5'
+ mavenBom 'org.springframework.boot:spring-boot-dependencies:3.5.6'
mavenBom 'io.awspring.cloud:spring-cloud-aws-dependencies:3.2.1'
mavenBom 'io.opentelemetry:opentelemetry-bom:1.44.1'
mavenBom 'org.jetbrains.kotlin:kotlin-bom:2.0.21'
mavenBom 'org.junit:junit-bom:5.11.3'
- mavenBom 'com.fasterxml.jackson:jackson-bom:2.18.3'
+ mavenBom 'com.fasterxml.jackson:jackson-bom:2.19.2'
mavenBom 'io.cucumber:cucumber-bom:7.20.1'
mavenBom 'org.mockito:mockito-bom:5.14.2'
mavenBom 'software.amazon.awssdk:bom:2.29.9'
@@ -44,8 +44,8 @@ dependencyManagement {
// We do not use :+ to get the latest available version available on
Maven Central, as that could suddenly break things.
// We use the Renovate Bot to automatically propose Pull Requests
(PRs) when upgrades for all of these versions are available.
- dependency 'ch.qos.logback:logback-core:1.5.17'
- dependency 'ch.qos.logback:logback-classic:1.5.17'
+ dependency 'ch.qos.logback:logback-core:1.5.19'
+ dependency 'ch.qos.logback:logback-classic:1.5.19'
dependency 'ch.qos.logback.contrib:logback-json-classic:0.1.5'
dependency 'ch.qos.logback.contrib:logback-jackson:0.1.5'
dependency 'org.codehaus.janino:janino:3.1.12'
@@ -55,7 +55,7 @@ dependencyManagement {
dependency 'com.google.code.gson:gson:2.11.0'
dependency 'com.google.googlejavaformat:google-java-format:1.24.0'
dependency 'org.apache.commons:commons-collections4:4.4'
- dependency 'org.apache.commons:commons-compress:1.26.0'
+ dependency 'org.apache.commons:commons-compress:1.28.0'
dependency ('software.amazon.msk:aws-msk-iam-auth:2.2.0') {
exclude 'commons-logging:commons-logging:'
}
@@ -74,17 +74,17 @@ dependencyManagement {
dependency 'org.ehcache:ehcache:3.10.8'
dependency 'com.github.spullara.mustache.java:compiler:0.9.14'
dependency 'com.jayway.jsonpath:json-path:2.9.0'
- dependency ('org.apache.tika:tika-core:2.9.3') {
+ dependency ('org.apache.tika:tika-core:3.2.3') {
exclude 'commons-logging:commons-logging'
}
- dependency ('org.apache.tika:tika-core:2.9.3') {
+ dependency ('org.apache.tika:tika-core:3.2.3') {
exclude 'commons-logging:commons-logging'
}
- dependency ('org.apache.tika:tika-parser-miscoffice-module:2.9.3') {
+ dependency ('org.apache.tika:tika-parser-miscoffice-module:3.2.3') {
exclude 'org.bouncycastle:bcprov-jdk15on'
- exclude 'org.bouncycastle:bcmail-jdk15on'
+ exclude 'org.bouncycastle:bcjmail-jdk15on'
exclude 'org.bouncycastle:bcprov-jdk18on'
- exclude 'org.bouncycastle:bcmail-jdk18on'
+ exclude 'org.bouncycastle:bcjmail-jdk18on'
exclude 'commons-logging:commons-logging'
exclude 'org.apache.logging.log4j:log4j-api'
exclude 'org.slf4j:slf4j-api'
@@ -97,11 +97,11 @@ dependencyManagement {
exclude 'org.apache.commons:commons-compress'
exclude 'xml-apis:xml-apis'
}
- dependency ('org.apache.tika:tika-parser-microsoft-module:2.9.3') {
+ dependency ('org.apache.tika:tika-parser-microsoft-module:3.2.3') {
exclude 'org.bouncycastle:bcprov-jdk15on'
- exclude 'org.bouncycastle:bcmail-jdk15on'
+ exclude 'org.bouncycastle:bcjmail-jdk15on'
exclude 'org.bouncycastle:bcprov-jdk18on'
- exclude 'org.bouncycastle:bcmail-jdk18on'
+ exclude 'org.bouncycastle:bcjmail-jdk18on'
exclude 'commons-logging:commons-logging'
exclude 'org.apache.logging.log4j:log4j-api'
exclude 'org.slf4j:slf4j-api'
@@ -152,10 +152,10 @@ dependencyManagement {
dependency "commons-codec:commons-codec:1.17.1"
dependency "org.projectlombok:lombok:1.18.36"
- dependency 'org.bouncycastle:bcpkix-jdk18on:1.80'
- dependency 'org.bouncycastle:bcprov-jdk18on:1.80'
- dependency 'org.bouncycastle:bcutil-jdk18on:1.80'
- dependency 'org.bouncycastle:bcpg-jdk18on:1.80'
+ dependency 'org.bouncycastle:bcpkix-jdk18on:1.81'
+ dependency 'org.bouncycastle:bcprov-jdk18on:1.81'
+ dependency 'org.bouncycastle:bcutil-jdk18on:1.81'
+ dependency 'org.bouncycastle:bcpg-jdk18on:1.81'
dependency 'org.eclipse.jgit:org.eclipse.jgit:7.2.0.202503040940-r'
dependency
'org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.2.0.202503040940-r'
@@ -185,7 +185,7 @@ dependencyManagement {
dependency 'jakarta.annotation:jakarta.annotation-api:3.0.0'
dependency 'jakarta.activation:jakarta.activation-api:2.1.3'
- dependency ('com.sun.mail:jakarta.mail:2.0.1') {
+ dependency ('com.sun.mail:jakarta.mail:2.0.2') {
// Spring needs this version
exclude 'com.sun.activation:jakarta.activation'
}
@@ -273,9 +273,11 @@ dependencyManagement {
dependency 'org.springframework:spring-core:6.2.11'
// Force Spring Framework version: CVE-2025-41248
dependency 'org.springframework.security:spring-security-core:6.5.4'
- // Force netty-codec version: CVE-2025-58057
- dependency 'io.netty:netty-codec:4.1.125.Final'
+ // Force netty-codec version: CVE-2025-67735
+ dependency 'io.netty:netty-codec:4.1.129.Final'
// Force netty-codec version: CVE-2025-58056
dependency 'io.netty:netty-codec-http:4.1.125.Final'
+ // Force lz4-java version: CVE-2025-12183
+ dependency 'at.yawk.lz4:lz4-java:1.10.1'
}
}
diff --git a/fineract-client-feign/dependencies.gradle
b/fineract-client-feign/dependencies.gradle
index 59cb8278b0..ebc09f7973 100644
--- a/fineract-client-feign/dependencies.gradle
+++ b/fineract-client-feign/dependencies.gradle
@@ -33,7 +33,6 @@ dependencies {
'jakarta.annotation:jakarta.annotation-api:3.0.0',
'io.swagger.core.v3:swagger-annotations-jakarta:2.2.15',
'org.apache.commons:commons-lang3:3.12.0',
- 'org.slf4j:slf4j-api:1.7.36',
'org.projectlombok:lombok'
)
@@ -43,7 +42,6 @@ dependencies {
'org.junit.jupiter:junit-jupiter-engine:5.11.3',
'org.mockito:mockito-core:5.14.2',
'org.assertj:assertj-core:3.26.3',
- 'org.slf4j:slf4j-simple:1.7.36',
'org.wiremock:wiremock-standalone'
)
}
diff --git a/fineract-e2e-tests-core/build.gradle
b/fineract-e2e-tests-core/build.gradle
index d04d71ae12..d4cb2af8f4 100644
--- a/fineract-e2e-tests-core/build.gradle
+++ b/fineract-e2e-tests-core/build.gradle
@@ -90,8 +90,8 @@ dependencies {
testCompileOnly 'org.projectlombok:lombok:1.18.36'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.36'
- testImplementation "ch.qos.logback:logback-core:1.5.17"
- testImplementation "ch.qos.logback:logback-classic:1.5.17"
+ testImplementation "ch.qos.logback:logback-core:1.5.19"
+ testImplementation "ch.qos.logback:logback-classic:1.5.19"
testImplementation 'org.apache.activemq:activemq-client:6.1.6'
testImplementation "org.apache.avro:avro:1.12.0"
diff --git a/fineract-e2e-tests-runner/build.gradle
b/fineract-e2e-tests-runner/build.gradle
index 2f8811aefb..223900d240 100644
--- a/fineract-e2e-tests-runner/build.gradle
+++ b/fineract-e2e-tests-runner/build.gradle
@@ -61,8 +61,8 @@ dependencies {
testCompileOnly 'org.projectlombok:lombok:1.18.36'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.36'
- testImplementation "ch.qos.logback:logback-core:1.5.17"
- testImplementation "ch.qos.logback:logback-classic:1.5.17"
+ testImplementation "ch.qos.logback:logback-core:1.5.19"
+ testImplementation "ch.qos.logback:logback-classic:1.5.19"
testImplementation 'org.apache.activemq:activemq-client:6.1.6'
testImplementation "org.apache.avro:avro:1.12.0"
diff --git a/integration-tests/dependencies.gradle
b/integration-tests/dependencies.gradle
index 9b0cb8cafe..1560d98d3c 100644
--- a/integration-tests/dependencies.gradle
+++ b/integration-tests/dependencies.gradle
@@ -20,7 +20,7 @@ dependencies {
// testCompile dependencies are ONLY used in src/test, not src/main.
// Do NOT repeat dependencies which are ALREADY in implementation or
runtimeOnly!
//
- tomcat 'org.apache.tomcat:tomcat:10.1.42@zip'
+ tomcat 'org.apache.tomcat:tomcat:10.1.45@zip'
def providerMainOutput =
project(':fineract-provider').extensions.getByType(SourceSetContainer).named('main').get().output
testImplementation( providerMainOutput,
project(path: ':fineract-core', configuration: 'runtimeElements'),
diff --git a/oauth2-tests/dependencies.gradle b/oauth2-tests/dependencies.gradle
index 67e7194d06..168863f06d 100644
--- a/oauth2-tests/dependencies.gradle
+++ b/oauth2-tests/dependencies.gradle
@@ -20,7 +20,7 @@ dependencies {
// testCompile dependencies are ONLY used in src/test, not src/main.
// Do NOT repeat dependencies which are ALREADY in implementation or
runtimeOnly!
//
- tomcat 'org.apache.tomcat:tomcat:10.1.42@zip'
+ tomcat 'org.apache.tomcat:tomcat:10.1.45@zip'
testImplementation(
files("$rootDir/fineract-provider/build/classes/java/main/"),
project(path: ':fineract-provider', configuration:
'runtimeElements'),
'org.junit.jupiter:junit-jupiter-api',
diff --git a/twofactor-tests/dependencies.gradle
b/twofactor-tests/dependencies.gradle
index f4685d8a1e..f7b3ed55a6 100644
--- a/twofactor-tests/dependencies.gradle
+++ b/twofactor-tests/dependencies.gradle
@@ -20,7 +20,7 @@ dependencies {
// testCompile dependencies are ONLY used in src/test, not src/main.
// Do NOT repeat dependencies which are ALREADY in implementation or
runtimeOnly!
//
- tomcat 'org.apache.tomcat:tomcat:10.1.42@zip'
+ tomcat 'org.apache.tomcat:tomcat:10.1.45@zip'
testImplementation(
files("$rootDir/fineract-provider/build/classes/java/main/"),
project(path: ':fineract-provider', configuration:
'runtimeElements'),
'org.junit.jupiter:junit-jupiter-api',