当前位置: 首页 > 知识库问答 >
问题:

log4j漏洞-如果log4j在类路径中维护,但实际上没有在代码中使用,那么它仍然容易受到攻击吗?

壤驷麒
2023-03-14

这是关于CVE-2021-44228针对log4j核心jar报告的漏洞,并已在Log4J v2.15.0中修复。

我们通过slf4j使用Logback API。下面的代码证实了这一点。

final StaticLoggerBinder binder = StaticLoggerBinder.getSingleton();
System.out.println(binder.getLoggerFactory());
System.out.println(binder.getLoggerFactoryClassStr());
//output:
//ch.qos.logback.classic.LoggerContext[default]
//ch.qos.logback.classic.util.ContextSelectorStaticBinder

mvn依赖关系:树显示log4j核心API(版本

由于在类路径中维护log4j内核,应用程序是否仍然易受攻击?非常感谢。

共有1个答案

海典
2023-03-14

为了使漏洞对您构成风险,需要将几件事结合在一起:

  1. 您的环境中存在相应的库

这里没有人能告诉你“2”和“3”是否适用于你的环境。

但是:当你消除1时。,你知道“2”和"3"现在已经不可能了。或者反过来说,只要您100%确信用户无法通过任何途径将数据输入到您的系统中,并将其发送到相应的API,那么即使将库留在您的环境中,您也应该可以。但正如所说,拥有图书馆是这条链条的第一要素。因此,当这一点存在时,有可能明天有人编写代码,让您到达“2”和“3”!

因此,请记住更高管理层的观点:最可能的情况是,业务决策可能是:将风险降低到0,因此确保您的机器上甚至没有相应的JAR。

在我的bigcorp环境中,订单非常简单:不要浪费任何时间分析你的代码是否使用相应的接口。当您的项目包含易受攻击的JAR时,请立即升级它。期间。

 类似资料:
  • 我目前的项目完全与大量Spring Boot容器对接。它们中的大多数都是使用log4j2(对于java8,小于2.7)版本构建的。如何充分证明来自JNDI攻击CVE-2021-45105的应用程序? 我知道最好的解决方案是用log4j版本重建这些容器,但这需要时间和预算。 但是,如果我使用下面的命令,在docker compose级别为每个容器禁用查找功能,它能工作吗? “JVM_EXTRA_OP

  • 关于已经在CVE-2021-44228发现的Log4j JNDI远程代码执行漏洞-(另见参考文献)-我想知道Log4j-v1.2是否也受到影响,但是我从源代码审查中得到的最接近的是JMS-Appender。 问题是,虽然互联网上的帖子表明Log4j 1.2也存在漏洞,但我找不到相关的源代码。 我是否遗漏了其他人已经确认的东西? Log4j 1.2在socket server类中似乎有一个漏洞,但我

  • 对于我们的SpringBoot项目,我们正在使用定制的SpringBoot库,它现在已经升级了。 但在升级过程中,我们保留了旧版本的hibernate core 5.3.7。最终支持NamedNativeRequesty功能。并且该版本内部使用了较旧的易受攻击的log4j版本。 然而,作为安全性的一部分,整个log4j版本升级到最新版本,当我们运行mvn dendacy: list时,我们只能看到

  • 上下文:我们使用2.6.3版本的com.microsoft.azure:应用见解-日志-log4j1_2来检测我们的Scala代码。不幸的是,这依赖于1.2.17版本的log4j: log4j。1.2.17版本的log4j: log4j有一个严重的安全漏洞(参考:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17571)问题是:“L

  • 正如我们在新闻中看到的,针对流行的库报告了一个新的零日漏洞,该漏洞允许攻击者远程执行代码。在我们的应用程序中,我们仍然使用以下依赖项。 是否仅针对报告该问题?或适用于版本是否也是?是否有测试该漏洞的示例代码?

  • 如何检测SonarQube LTS 8.2版本中的log4j漏洞。 我尝试了这个社区参考,但是找不到8.2版本的。 https://community.sonarsource.com/t/sonarqube-sonarcloud-and-the-log4j-vulnerability/54721