Gradle 依赖(org.apache.commons)是不是也受到当前 log4j 漏洞的影响?

Posted

技术标签:

【中文标题】Gradle 依赖(org.apache.commons)是不是也受到当前 log4j 漏洞的影响?【英文标题】:Gradle dependency (org.apache.commons ) is also effected by current log4j vulnerability or not?Gradle 依赖(org.apache.commons)是否也受到当前 log4j 漏洞的影响? 【发布时间】:2022-01-15 18:18:54 【问题描述】:

目前 Log4j 日志框架中出现了一个漏洞。但是在我们的项目中,我们没有直接使用 log4j 依赖。我们通过 org.apache.common 使用 log4j。那么问题是它会受到影响吗?

【问题讨论】:

如果临时 log4j 依赖项是易受攻击的并且您使用它并且 log4j 以易受攻击的方式配置并且使用旧的 java 版本,是的。 【参考方案1】:

检查类路径是否包含类JndiLookup。 正如this文章所建议的那样

替换类 org.apache.logging.log4j.core.lookup.JndiLookup 的非易受攻击或空实现,以使您的类加载器使用您的替换而不是类的易受攻击版本。请参阅您的应用程序或堆栈的类加载文档以了解此行为。

【讨论】:

【参考方案2】:

使用 Apache Commons Logging 时,您仍然需要提供特定的日志系统供 Apache Commons Logging 使用。如果该特定系统恰好是 Log4j(显式或隐式提供,因为它是 Apache Commons Logging 的主要默认设置),您应该假设您的项目受到该漏洞的影响,并将您的 log4j 依赖项更新为修补版本或使用不同的日志记录系统。

【讨论】:

以上是关于Gradle 依赖(org.apache.commons)是不是也受到当前 log4j 漏洞的影响?的主要内容,如果未能解决你的问题,请参考以下文章

Android gradle 动态添加模块依赖

Android Gradle 插件Gradle 依赖管理 ③ ( build.gradle#dependencies 依赖分组 | configurations 自定义依赖分组 )

gradle 解决重复依赖

Android Gradle 插件Gradle 依赖管理 ② ( build.gradle 中的 dependencies 依赖配置 | DependencyHandler#add 方法介绍 )

Android Gradle 插件Android 依赖管理 ⑤ ( Gradle 依赖优化 | 命令行查看依赖模块 | 依赖冲突问题 | 依赖传递冲突 | 分库冲突 | 依赖分组不同导致冲突 )

Gradle 依赖&解决依赖冲突