Summary
OWASP dependency-check on the main branch (Java 1.8 build target) reports 657 CVE matches across 136 unique Maven GAVs. Of those, 19 GAVs (153 CVEs) can be closed by a drop-in <version> bump in the root pom.xml with a fix that is verified Java 1.8 compatible (bytecode major version ≤ 52 or Java 9 bytecode that runs on Java 8+). No source-code changes are expected for any of these bumps.
This issue tracks getting all 19 upgrades merged.
Why
- 19 GAVs is the single highest-ROI win in the whole dependency report. The other 117 GAVs either require a Java 11+ migration or are at the latest Java 1.8 line.
- The biggest single move is
jackson.version=2.21.5 in the root pom, which closes 80 CVEs by itself.
- None of the proposed fix versions introduce a bytecode level that breaks the Java 1.8 build (each was bytecode-verified on Maven Central against the current JDK 1.8.0_504).
List of upgrades
All version bumps go in the root pom.xml <properties> block (or per-module POMs if a property is overridden). The "current" version is what the project declares today; the "fix" version(s) are verified Java 1.8 compatible.
| # |
GAV |
Current |
Fix |
CVEs closed |
Severity |
| 1 |
com.fasterxml.jackson.core:jackson-databind |
2.21.1 |
2.21.5 |
80 |
CRITICAL, HIGH |
| 2 |
io.netty:netty-handler |
4.1.99.Final |
4.1.135.Final |
10 |
HIGH, MODERATE |
| 3 |
org.apache.zookeeper:zookeeper |
3.6.2 |
3.7.2 |
9 |
CRITICAL, HIGH, MODERATE |
| 4 |
org.yaml:snakeyaml |
1.23 |
1.32 (or 2.0) |
8 |
HIGH, MODERATE |
| 5 |
org.apache.derby:derby |
10.14.2.0 |
10.14.2.1 |
7 |
CRITICAL, HIGH |
| 6 |
com.google.protobuf:protobuf-java |
2.5.0 |
3.25.5 |
5 |
HIGH, MODERATE |
| 7 |
io.netty:netty-codec |
4.1.99.Final |
4.1.136.Final |
5 |
HIGH, MODERATE |
| 8 |
com.fasterxml.jackson.core:jackson-core |
2.21.1 |
2.21.4 |
4 |
HIGH, MODERATE |
| 9 |
com.github.junrar:junrar |
7.5.5 |
7.5.10 |
4 |
HIGH, MODERATE |
| 10 |
org.xerial.snappy:snappy-java |
1.1.10.1 |
1.1.10.4 |
4 |
HIGH, MODERATE |
| 11 |
org.jsoup:jsoup |
1.22.1 |
1.23.1 |
4 |
HIGH, MODERATE |
| 12 |
org.apache.httpcomponents.client5:httpclient5 |
5.4.4 |
5.6.3 |
3 |
HIGH, MODERATE |
| 13 |
org.eclipse.jetty:jetty-webapp |
9.4.26.v20200117 |
9.4.33.v20201020 |
3 |
HIGH, MODERATE |
| 14 |
io.netty:netty-common |
4.1.99.Final |
4.1.118.Final |
2 |
MODERATE |
| 15 |
com.sun.mail:jakarta.mail |
1.6.7 |
1.6.8 |
1 |
MODERATE |
| 16 |
io.netty:netty-transport-native-epoll |
4.1.99.Final |
4.1.135.Final |
1 |
MODERATE |
| 17 |
org.apache.httpcomponents.core5:httpcore5 |
5.3.4 |
5.4.3 |
1 |
HIGH |
| 18 |
org.apache.httpcomponents.core5:httpcore5-h2 |
5.3.4 |
5.4.3 |
1 |
HIGH |
| 19 |
org.apache.poi:poi-ooxml |
5.2.2 |
5.4.0 |
1 |
MODERATE |
Notes per row
Acceptance criteria
- All 19 GAVs in the table above are upgraded to the listed fix version (or the next available patch if a newer one ships before this is merged; verify Java 1.8 compatibility first).
./mvn-env.sh clean install -DskipTests succeeds on Java 1.8.
./mvn-env.sh dependency-check:check reports a 19-GAV reduction in the "Dependency with vulnerable components" count.
- QA regression run on
system and WebUI smoke tests passes.
Out of scope
- The remaining 117 GAVs flagged by OWASP dependency-check are tracked in the parent epic (separate issue).
- No code changes are expected for this issue; the bumps are version-only.
References
- Full analysis:
docs/ai-generated/tasks/PR#-DependencyVulnerabilityAnalysis/main-vulnerability-report.md
- Machine-readable per-GAV data:
docs/ai-generated/tasks/PR#-DependencyVulnerabilityAnalysis/categorized-final.json (key UPGRADE_JAVA8)
- Per-module OWASP HTML reports at
<module>/target/dependency-check-report.html
Summary
OWASP dependency-check on the
mainbranch (Java 1.8 build target) reports 657 CVE matches across 136 unique Maven GAVs. Of those, 19 GAVs (153 CVEs) can be closed by a drop-in<version>bump in the rootpom.xmlwith a fix that is verified Java 1.8 compatible (bytecode major version ≤ 52 or Java 9 bytecode that runs on Java 8+). No source-code changes are expected for any of these bumps.This issue tracks getting all 19 upgrades merged.
Why
jackson.version=2.21.5in the root pom, which closes 80 CVEs by itself.List of upgrades
All version bumps go in the root
pom.xml<properties>block (or per-module POMs if a property is overridden). The "current" version is what the project declares today; the "fix" version(s) are verified Java 1.8 compatible.com.fasterxml.jackson.core:jackson-databindio.netty:netty-handlerorg.apache.zookeeper:zookeeperorg.yaml:snakeyamlorg.apache.derby:derbycom.google.protobuf:protobuf-javaio.netty:netty-codeccom.fasterxml.jackson.core:jackson-corecom.github.junrar:junrarorg.xerial.snappy:snappy-javaorg.jsoup:jsouporg.apache.httpcomponents.client5:httpclient5org.eclipse.jetty:jetty-webappio.netty:netty-commoncom.sun.mail:jakarta.mailio.netty:netty-transport-native-epollorg.apache.httpcomponents.core5:httpcore5org.apache.httpcomponents.core5:httpcore5-h2org.apache.poi:poi-ooxmlNotes per row
jackson.versionproperty in the root pom controls this. No transitive API breaks between 2.21.1 and 2.21.5..protofiles compiled with the oldprotoc). The 3.25.5 jar is Java 8 bytecode (major 52).io.netty:netty-*artifacts in the pom. They all share anettyall.versionproperty; bumping the single property covers all of them. Verifynetty-transport-native-epollandnetty-transport-classes-epollline up.jetty.versionfrom 9.4.26 to 9.4.58 (the project already has 9.4.58.v20250814 injetty.version; this row is just for the straggler jetty-webapp entry that wasn't aligned).jakarta.mail(the oldercom.sun.mail:jakarta.mailartifact), not thejakarta.mail:jakarta.mail-apinamespace.httpcore5.versionandhttpcore5-h2.versionin sync.Acceptance criteria
./mvn-env.sh clean install -DskipTestssucceeds on Java 1.8../mvn-env.sh dependency-check:checkreports a 19-GAV reduction in the "Dependency with vulnerable components" count.systemandWebUIsmoke tests passes.Out of scope
References
docs/ai-generated/tasks/PR#-DependencyVulnerabilityAnalysis/main-vulnerability-report.mddocs/ai-generated/tasks/PR#-DependencyVulnerabilityAnalysis/categorized-final.json(keyUPGRADE_JAVA8)<module>/target/dependency-check-report.html