如何缓解Log4j 1.2版中的Log4Shell漏洞?[duplicate]

bsxbgnwa  于 2022-11-06  发布在  Shell
关注(0)|答案(2)|浏览(178)

此问题在此处已有答案

Log4j vulnerability - Is Log4j 1.2.17 vulnerable (was unable to find any JNDI code in source)?(3个答案)
11个月前关闭。
我有一个非常旧的Solr版本,我一直在尝试看看它是否受到Log4Shell vulnerability的影响,每个人都在担心(CVE-2021-44228)。
CVE似乎只适用于以后的版本,但一位同事不买它,所以我试图找出真相。

ipakzgxi

ipakzgxi1#

我有大约95%的把握认为这对于旧版本的Log4j来说没有问题。
1.我使用的是1.2版。我在系统上找到了Log4j JAR文件,将其解压缩,并查找了任何涉及JNDI的内容:

find / -iname '*log4j*'
unzip /etc/opt/jetty/lib/ext/log4j-1.2.17.jar | grep -i jndi

这并没有带来什么结果,所以我感觉很好。CVE说你通常可以通过查看JAR文件来找到一些东西。它建议你这样做:

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

那对我没有用。
1.我查了一下changelog for Log4j。它说2.0-beta 9版本:
添加JNDILookup插件。修复LOG4J 2 -313。感谢Woonsan Ko。
所以我认为可以肯定地说,在此之前,JNDI在Log4j中是不存在的。
1.我检查了old manual for version 1.2并将其与最新版本进行了比较。在最新版本中,有一个“Lookups”部分解释了JNDI如何工作。在1.2版本中,这个部分根本不存在。
我觉得......还行吧?

uxh89sit

uxh89sit2#

Ralph Goers(Apache Log4J维护者)说:
此漏洞有两个方面。

  1. Log4j 2的查找机制(属性解析器)是在记录的消息文本上执行的。这意味着如果应用程序记录用户输入(几乎每个人都这样做),用户可能会导致调用查找机制。
  2. Log4j2在各种地方支持JNDI,包括作为查找。JNDI本身非常不安全。这些因素的综合影响使它成为Log4j2的一个严重问题。Log4j1,以及Logback,两者都有使用JNDI的组件,但都没有采取任何措施来限制JNDI漏洞。在Log4j 1的情况下,它是JMS附加器。暴露程度较小,但它仍然存在。如果有人能够获得对日志配置的访问权限,他们可能会导致不好的事情发生。
    因此,结论是Log4J 1.x是安全的,不受Log4Shell的影响,除非您使用JMS附加器。在这种情况下,您必须分析在附加器中执行的操作。

相关问题