Upgrade Jetty to 12.0.32 and Netty to 4.1.129.Final to fix CVE-2025-5115, CVE-2026-1605, and CVE-2025-67735#3005
Upgrade Jetty to 12.0.32 and Netty to 4.1.129.Final to fix CVE-2025-5115, CVE-2026-1605, and CVE-2025-67735#3005lfurman wants to merge 5 commits intoapache:masterfrom
Conversation
| <junit.vintage.version>5.13.1</junit.vintage.version> | ||
| <concurrent.version>1.3.4</concurrent.version> | ||
| <netty.version>4.1.126.Final</netty.version> | ||
| <netty.version>4.1.129.Final</netty.version> |
There was a problem hiding this comment.
Please drop the Netty version from here: this is a sensible topic as we need alignement with
- s3 driver
- cassandra driver
- reactor-netty
- We can not just flip the netty jar alone without risking some subtle bugs and try our best to align
We likely shall wait a few days that reactor-netty pushes a 4.2.17 versions that align and pick a compatible version of the S3 driver too, it releases quite frequently. We can likely force the dependency for Cassandra - we already do it.
There was a problem hiding this comment.
Looking at the netty libraries in maven:
https://mvnrepository.com/artifact/io.netty/netty-all
- 4.2.12 is the latest version for 4.2 release
For reactor-netty specifically:
https://mvnrepository.com/artifact/io.projectreactor.netty/reactor-netty
The latest version is 1.3.4.
Could you please clarify where the source for reactor-netty is?
| <concurrent.version>1.3.4</concurrent.version> | ||
| <netty.version>4.1.126.Final</netty.version> | ||
| <netty.version>4.1.129.Final</netty.version> | ||
| <jetty.version>12.0.32</jetty.version> |
There was a problem hiding this comment.
Are we sure it do not break spark java ?
| <dependency> | ||
| <groupId>org.eclipse.jetty</groupId> | ||
| <artifactId>jetty-http</artifactId> | ||
| <version>${jetty.version}</version> | ||
| </dependency> |
There was a problem hiding this comment.
I think we shall upgrade https://mvnrepository.com/artifact/org.zoomba-lang/spark-core/3.0.4 rather than forcing the version of the jetty transitive dependency.
There was a problem hiding this comment.
Thank you for your comment. Yes, I will test the upgrade to spark-core 3.04 locally and then will only include those changes in the current PR. I'll also create a different PR for the netty upgrade of S3 driver and cassandra once the refactor version becomes available.
There was a problem hiding this comment.
Thanks a lot!
The netty upgrade is likely tricky as reactor-netty seems to adopt netty 4.2.x while the rest of our dependencies actually relies on Netty 4.1.x. This could make the upgrade more complex, potentially requiring approaches like shading (although that comes with its own drawbacks).
The spark-core upgrade is however likely easy and could be done straight away...
:-(
chibenwa
left a comment
There was a problem hiding this comment.
Thanks for raising the topic.
I believe that we shall have 2 PRs, one for Jetty where we rather bump the spark core dependency, one for Netty where we do a coordinated upgrade of the dependencies that uses netty.
Would this make sense to you?
| <james.baseVersion>${project.version}</james.baseVersion> | ||
| <james.protocols.groupId>${james.groupId}.protocols</james.protocols.groupId> | ||
| <jetty.version>12.0.32</jetty.version> | ||
| <netty.version>4.1.129.Final</netty.version> |
There was a problem hiding this comment.
I don't think those additions are necessary in examples/pom.xml
There was a problem hiding this comment.
Thank you for the comment, sounds good. I'll delete and retest the build and check the dependency tree again.
There was a problem hiding this comment.
No problem. Thank you for trying though, as @chibenwa said, netty upgrades are always tricky. We are happy to give you support on this :)
There was a problem hiding this comment.
Thank you for the guidance! I have updated the PR with the following changes:
- Reverted the Netty version bump. This will be addressed in a separate PR after refactory-netty library is upgraded along with S3 driver and Cassandra driver.
- Reverted all individual Jetty dependencyManagement entries.
- Reverted all examples/pom.xml changes.
- Upgraded spark-core from 3.0.2 to 3.0.4 which naturally pulls in Jetty 12.1.7 as a transitive dependency.
|
For the jetty ones I believe #3013 to be enough. |
|
Since this #3013 is merged, is the current PR also good to go as well? |
|
I do not really understand the question @lfurman I think we can address the Netty problem:
We would then remain...
Validation: signle version of Netty in @lfurman would you be willing to try to piece this together? Cheers, Benoit TELLIER |
Thank you @chibenwa, Would you prefer if I make the netty changes in another PR or this current PR? As of now, this PR includes spark-core upgrade only. |
|
Yes another pr is likely better. Have a good weekend |
|
Thank you! I will create a new PR for netty upgrade. How about this PR. - is it ok to leave it as is with spark-core upgrade only? Is it good to be approved or more changes are needed? |
|
IMO we shall close it once we come up with a Netty upgrade PR ;-) |
|
Sounds great - will create a new PR now for netty upgrade :) |
Motivation
This PR upgrades Jetty and Netty to fix HIGH and MEDIUM severity CVEs
found in transitive dependencies.
CVEs Fixed
Changes
pom.xml(root)netty.versionfrom4.1.126.Finalto4.1.129.Finaljetty.versionproperty set to12.0.32<dependencyManagement>to force transitiveupgrade:
jetty-server,jetty-http,jetty-io,jetty-utiljetty-http2-common,jetty-http2-serverjetty-websocket-jetty-serverjetty-ee10-websocket-jetty-serverexamples/pom.xml<dependencyManagement>block.examples/pom.xmlinherits fromorg.apache:apache:23and not from
james-projectroot, so root fixes are invisible here.Verification
Update (following reviewer feedback)