【问题标题】:How can I mitigate the Log4Shell vulnerability in version 1.2 of Log4j? [duplicate]如何缓解 Log4j 1.2 版中的 Log4Shell 漏洞? [复制]
【发布时间】:2021-12-11 01:41:03
【问题描述】:

我有一个非常旧的Solr 版本,我一直在尝试看看它是否受到每个人都在担心的Log4Shell vulnerability (CVE-2021-44228) 的影响。

CVE似乎只适用于以后的版本,但有同事不买账,所以我想弄清楚真相。

【问题讨论】:

    标签: log4j log4shell


    【解决方案1】:

    我有 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
      

      这对我没有任何作用。

    2. 我翻遍了changelog for Log4j。它说对于 2.0-beta9 版本:

      添加 JNDILookup 插件。修复 LOG4J2-313。感谢 Woonsan Ko。

      所以我认为可以肯定地说 JNDI 在此之前在 Log4j 中不存在。 Jira ticket that added it is here

    3. 我检查了old manual for version 1.2 并将其与最新版本进行了比较。最近,有一个“查找”部分解释了 JNDI 的工作原理。在 1.2 版中,该部分不存在。

    我觉得……还好吧?

    【讨论】:

    • 我在我的任何机器上都找不到任何 log4j 文件。 find / -iname 'log4j' 什么都没有 - 我还好吗?
    • 但请记住,Log4j 1 已在 2015 结束生命周期。无论哪种方式,您都应该切换到不同的日志框架,无论是 Log4j 2、Logback 还是其他。
    • 如果使用JMSAppenderlog4j 1.x 似乎很容易受到攻击。见github.com/apache/logging-log4j2/pull/…
    • "它建议你这样做:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class"这对我没有任何作用. -q 是 zip 的安静操作,所以即使它确实找到了一些东西,你也可能看不到任何东西。
    • @Maksim,阅读这些 cmets,似乎 log4j 1.x 中的漏洞比这里介绍的要少得多。他们似乎属于“你应该升级,但你的房子没有着火”的领域。例如,This 表示 1.x 漏洞取决于使用可能不常见的特定配置。不过,我不在使用 Java 的驾驶室,如果我遗漏了什么,请纠正我。
    【解决方案2】:

    Ralph Goers(Apache Log4J 维护者)说:

    此漏洞有两个方面。

    1. Lo​​g4j 2 的查找机制(属性解析器)正在记录的消息文本上执行。这意味着,如果应用程序 记录用户输入(几乎每个人都这样做)用户可能会导致 要调用的查找机制。
    2. Lo​​g4j 2 在各个地方都支持 JNDI,包括作为查找。 JNDI 本身非常不安全。这些的综合效果是什么 使其成为 Log4j 2 的严重严重性问题。Log4j 1 以及 Logback,两者都有使用 JNDI 的组件,并且都不做任何事情 限制 JNDI 漏洞。在 Log4j 1 的情况下,它是 JMS 附加器。曝光较小,但仍然存在。如果有人 可以访问他们可以想象的日志记录配置 导致坏事发生。

    【讨论】:

    • 我们在 1.2 中不使用 JMS appender,它仍然可以访问日志配置吗?
    • 是否有人因 1.x log4j 中的套接字服务器类缓解了 CVE-2019-17571?
    • 参考链接?我似乎无法找到 Goers 发布此内容的位置。
    • 你必须相信我。 Goers 的答案已发布给我。但这是一个指向 Bugzilla 的链接,它说了同样的话:bugzilla.redhat.com/show_bug.cgi?id=2031667
    猜你喜欢
    • 2022-01-16
    • 2022-01-17
    • 2022-01-19
    • 2022-01-15
    • 1970-01-01
    • 2022-01-16
    • 2022-01-18
    • 2022-01-20
    • 2022-01-17
    相关资源
    最近更新 更多