WildFly 是否受到 log4j 2 漏洞 CVE-2021-44228 的影响?

Man*_*uel 9 exploit log4j wildfly

我们在生产中使用 wildfly 10 和 16,并且某些版本的 log4j 存在零日漏洞 CVE-2021-44228。

我如何确定代码和库都没有使用存在该问题的 log4j 库?

我不使用任何 log4j 属性文件,也不自己添加依赖项。

任何帮助将不胜感激!

Vse*_*nov 14

受影响的 log4j 版本是:

\n
\n

受影响的版本:所有 log4j-core 版本 >=2.0-beta9 且 <=2.14.1

\n
\n

WildFly 通过其log4j-jboss-logmanager模块使用 log4j 。即使最新的 1.2.2.Final 版本也依赖于 log4j 1.2.17

\n

这意味着 WildFly <22 绝对不受影响。

\n

还有一个log4j2-jboss-logmanager - 但只有 WildFly 22+ 有它。正如该文档所解释的:

\n
\n

这只是 log4j2 API 的实现。log4j2 的核心日志管理器将不受支持。
\n不支持使用任何 org.apache.logging.log4j:log4j-core API\xe2\x80\x99s 或实现。换句话说,log4j2 日志管理器实现(包括配置文件)将不受支持。

\n
\n

可以看到当前最新的 1.0.0.Final 版本根本不依赖 log4j-core,只依赖 log4j-api

\n

因此 WildFly 版本 >=22 也不会受到影响。

\n

官方推文证实了这一点。

\n

但是WFCORE-5743提升 log4j-core 版本又如何呢?在 pom 中查看:

\n
<!-- This is a test only dependency -->\n<dependency>\n    <groupId>org.apache.logging.log4j</groupId>\n    <artifactId>log4j-core</artifactId>\n    <version>${version.org.apache.logging.log4j}</version>\n    <scope>test</scope>\n</dependency>\n
Run Code Online (Sandbox Code Playgroud)\n

它不与 WildFly 捆绑在一起,仅在 WildFly 的测试构建中使用。

\n


小智 -1

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:

https://access.redhat.com/articles/112673#EAP_7

  • 正如目前所写的,您的答案尚不清楚。请[编辑]添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以[在帮助中心](/help/how-to-answer)找到有关如何写出好的答案的更多信息。 (3认同)