您好,这个精彩的社区。我有一个基本问题,假设我们有一个使用库
x
的应用程序,并且我们选择使用 Maven 存储库中该库的最新稳定版本。让我们进一步假设这个库x
不再受支持或者只是过时了,它依赖于其他一些库,包括过时的log4j,它指向众所周知的零日漏洞。我的项目是否会自动受到远程代码执行的攻击?如果是,如何防止这种攻击,在这种情况下我应该做什么?如果该库是开源的,我是否需要手动复制并粘贴该库的代码,并确保我将手动更新包括 log4j 在内的所有依赖项?这种情况会发生什么?
我假设它是 Log4J 1.x,因为 Log4J 2.x 正在积极维护。
虽然 Log4J 1.x 不再维护,但有一个后续项目:https://reload4j.qos.ch/。它被设计为 Log4J 1.x 的积极维护的直接替代品。使用方法:
x
<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>