如何防止 Java 中不受支持的库利用 CVE

问题描述 投票:0回答:1

您好,这个精彩的社区。我有一个基本问题,假设我们有一个使用库

x
的应用程序,并且我们选择使用 Maven 存储库中该库的最新稳定版本。让我们进一步假设这个库
x
不再受支持或者只是过时了,它依赖于其他一些库,包括过时的log4j,它指向众所周知的零日漏洞。我的项目是否会自动受到远程代码执行的攻击?如果是,如何防止这种攻击,在这种情况下我应该做什么?如果该库是开源的,我是否需要手动复制并粘贴该库的代码,并确保我将手动更新包括 log4j 在内的所有依赖项?这种情况会发生什么?

java security log4j
1个回答
0
投票

我假设它是 Log4J 1.x,因为 Log4J 2.x 正在积极维护。

虽然 Log4J 1.x 不再维护,但有一个后续项目:https://reload4j.qos.ch/。它被设计为 Log4J 1.x 的积极维护的直接替代品。使用方法:

  • 添加 Log4J 1.x 依赖项的排除
    x
  • 添加您自己对 reload4j 的依赖项
<dependency>
  <groupId>group.x</groupId>
  <artifactId>x</artifactId>
  <exclusions>
    <exclusion>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </exclusion>
  </exclusions>
</dependency>

<dependency>
  <groupId>ch.qos.reload4j</groupId>
  <artifactId>reload4j</artifactId>
  <version>1.2.25</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.