【发布时间】:2022-01-15 12:00:24
【问题描述】:
我们在生产中使用 wildfly 10 和 16,对于某些版本的 log4j 存在零日漏洞 CVE-2021-44228。
如何确定没有任何代码和库使用存在该问题的 log4j 库?
我没有使用任何 log4j 属性文件,也没有自己添加依赖项。
任何帮助将不胜感激!
【问题讨论】:
我们在生产中使用 wildfly 10 和 16,对于某些版本的 log4j 存在零日漏洞 CVE-2021-44228。
如何确定没有任何代码和库使用存在该问题的 log4j 库?
我没有使用任何 log4j 属性文件,也没有自己添加依赖项。
任何帮助将不胜感激!
【问题讨论】:
在 WildFly Core 18.0.0 中修复,将包含在 WildFly 26.0.0.Final 中:
https://issues.redhat.com/browse/WFCORE-5743
https://issues.redhat.com/browse/WFLY-15807
如果您需要在生产环境中使用 WildFly 10 或 16,您应该改用 JBoss EAP:
【讨论】:
The affected log4j versions are:
受影响的版本:所有 log4j-core 版本 >=2.0-beta9 和
WildFly 使用通过其log4j-jboss-logmanager 模块着色的 log4j。连最新的1.2.2.Final版depends on log4j 1.2.17.
这意味着 WildFly
还有一个 log4j2-jboss-logmanager - 但只有 WildFly 22+ 有它。和this doc explains:
这将只是 log4j2 API 的实现。不支持 log4j2 的核心日志管理器。
不支持使用任何 org.apache.logging.log4j:log4j-core API 或实现。换句话说,将不支持 log4j2 日志管理器实现,包括配置文件。
可以看到当前最新的1.0.0.Final版本does not depend on log4j-core at all, only log4j-api。
因此 WildFly 版本 >=22 也不受影响。
The official tweet 确认了这一点。
但是WFCORE-5743 提高 log4j-core 版本呢?查看 pom:
<!-- This is a test only dependency -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${version.org.apache.logging.log4j}</version>
<scope>test</scope>
</dependency>
它不与 WildFly 捆绑,仅用于 WildFly 的构建测试。
【讨论】: