JndiLookup.class 仍然是 log4j-core-2.17.0.jar 的一部分,这是预期的吗?

JndiLookup.class Still part of log4j-core-2.17.0.jar, is this expected?

我刚刚下载了 log4j-core-2.17.0.jar,当我打开它时,我看到“org/apache/logging/log4j/core/lookup/JndiLookup.class”仍然是 jar 的一部分。

关于 apache 安全性,他们提到了 -

实施以下缓解技术之一:

升级到 Log4j 2.3.1(对于 Java 6)、2.12.3(对于 Java 7)或 2.17.0(对于 Java 8 及更高版本)。 否则,在 2.16.0 以外的任何版本中,您可以从 class 路径中删除 JndiLookup class:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

我们是否必须下载 JAR 然后手动删除 jndi 条目?我认为在 2.16 和 2.17 log4j 中它已经被删除了。

请说明

log4j2 2.17 仍然支持 JNDI lookups,因此它需要 JndiLookup.class。 2.17 修复了与允许代码执行 (2.15) 和拒绝服务 (2.16) 的 JNDI 查找相关的错误。