Aiven-Open / Aiven-Open/tiered-storage-for-apache-kafka

Fix io.netty security vuln from azure module

未关闭 适合新手
#841 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
239
派生
59
PR 合并指标
30 天内没有已合并 PR

描述

# What is currently missing?

We notice that the hadoop modules explicitly exclude `netty.io` modules here: https://github.com/Aiven-Open/tiered-storage-for-apache-kafka/blob/ecfa17e445e98d6f66209cb556188e195053f334/core/build.gradle#L111

However, netty is still pulled transitively via azure-core-http-netty and reactor-netty in the storage/azure module. Netty 4.1.108.Final is causing some security tickets to trigger on our kafka nodes. We need `4.1.136.Final` or higher to patch the security concern.

# How could this be improved?

In the root build.gradle, we could add a `resolutionStrategy` like so:
```
configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'io.netty') {
details.useVersion nettyVersion
details.because 'CVE-2026-59921, CVE-2026-41417 and others require >= 4.1.136.Final'
}
}
```
With a nettyVersion param.

I'm assuming we can't add a `exclude group: "io.netty"` statement for azure-blob package, because it is required for that package, unlike hadoop.

# Is this a feature you would work on yourself?

I could open an upstream PR for whichever approach we think is best.

* [ ] I plan to open a pull request for this feature

贡献指南

打开贡献指南

调研方向

Inspect root build.gradle and compare the existing io.netty exclusions in core/build.gradle with dependencies of the storage/azure module. Verify the chosen resolution approach preserves Azure Blob's required Netty dependencies and resolves every io.netty module to 4.1.136.Final or newer; confirm the resulting dependency tree shows the patched versions.

由索引模型根据 Issue 内容生成。

评估

技术栈
azure, java, kafka
领域
build-system, security
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
活跃
描述清晰度
基本清楚
新手友好度
72/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。