You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Snyk检测到的io.netty拒绝服务高危漏洞?

解决Android Gradle Plugin引入的Netty HTTP2 DoS高危漏洞方案

针对你遇到的由AGP依赖链引入的io.netty:netty-codec-http2@4.1.93.Final拒绝服务漏洞,以下是可行的解决方法:

1. 强制升级Netty依赖版本

利用Gradle的依赖强制解析能力,直接覆盖AGP间接引入的旧版本Netty组件。在你的App模块的build.gradle(或build.gradle.kts)中添加如下配置:

Groovy 语法

configurations.all {
    resolutionStrategy {
        // 强制使用修复漏洞的版本
        force 'io.netty:netty-codec-http2:4.1.100.Final'
        // 同步升级同系列依赖,避免版本冲突
        force 'io.netty:netty-common:4.1.100.Final'
        force 'io.netty:netty-buffer:4.1.100.Final'
        force 'io.netty:netty-transport:4.1.100.Final'
    }
}

Kotlin DSL 语法

configurations.all {
    resolutionStrategy.force(
        "io.netty:netty-codec-http2:4.1.100.Final",
        "io.netty:netty-common:4.1.100.Final",
        "io.netty:netty-buffer:4.1.100.Final",
        "io.netty:netty-transport:4.1.100.Final"
    )
}

2. 验证依赖替换效果

执行Gradle命令查看依赖树,确认Netty版本已替换为目标版本:

./gradlew app:dependencies --configuration debugCompileClasspath | grep netty-codec-http2

若输出显示4.1.100.Final,说明强制替换成功。

3. 兼容性问题临时处理

如果强制升级后出现兼容性问题:

  • 检查项目是否直接使用了Netty的相关API,对照Netty官方文档适配新版本的API变更
  • 由于漏洞依赖来自测试插件com.android.tools.utp:android-test-plugin-host-retention,可暂时限制该测试插件的启用范围,仅在必要的测试任务中使用,降低漏洞暴露风险

内容的提问来源于stack exchange,提问作者VIN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:02:37