【问题标题】:Slf4j library exclude log4j for Sonatype security vulnerabilitySlf4j 库排除了 Sonatype 安全漏洞的 log4j
【发布时间】:2023-06-03 14:58:01
【问题描述】:

在我们的 Sonatype 安全漏洞扫描中,我们将 log4j:1.2.17 作为安全威胁。似乎 log4j 将作为 slf4j-log4j12 的一部分出现,这是我们在代码中使用的库。我想在 pom.xml 中排除 log4j,所以它会是这样的:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.30</version>
    <exclusions>
        <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
        </exclusion>
    </exclusions>
</dependency>

编译并运行该项目,它似乎工作正常。我只是想知道排除这样的图书馆会有什么副作用?我们会得到运行时错误吗?任何有关这方面的信息将不胜感激。

【问题讨论】:

  • 效果很可能是所有使用 log4j2 的 logger 将不再在 slf4j 日志系统中创建任何日志消息。
  • sonatype 漏洞问题仅存在于 log4j(第 1 版库​​)中,log4j2 没有漏洞问题,我们正在尝试使用它。在 pom 文件中,我将依赖项添加到 log4j2: org.apache.logging.log4jlog4j-core2.14.1

标签: java maven log4j slf4j sonatype


【解决方案1】:

我遇到了完全相同的问题。它不会产生任何运行时错误。 我对 pom 的依赖是这样的

      <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

【讨论】:

  • 谢谢。这与我们的 pom 文件非常相似。你是用 log4j2 代替吗(因为 log4j2 没有 sonatype 漏洞)?