Log4j 漏洞 - Log4j 1.2.17 是否容易受到攻击(无法在源代码中找到任何 JNDI 代码)?

Rav*_* HV 62 java security exploit log4j log4j2

关于已确定的Log4j JNDI远程代码执行漏洞CVE-2021-44228 -(另请参阅参考资料) - 我想知道Log4j-v1.2是否也受到影响,但我从源代码审查中得到的最接近的是JMS -附加程序

\n

问题是,虽然互联网上的帖子表明 Log4j 1.2 也存在漏洞,但我无法找到它的相关源代码。

\n

我是否遗漏了其他人已经发现的东西?

\n

Log4j 1.2 似乎在套接字服务器类中存在漏洞,但我的理解是,它需要首先启用才能适用,因此与识别的 JNDI 查找漏洞不同,它不是被动威胁似乎。

\n

我的理解 - Log4j v1.2 - 不容易受到 jndi-remote-code 执行错误的影响是否正确?

\n

参考

\n\n

Cloudflare 的这篇博文也表明了与AKX相同的观点......它是从 Log4j 2 引入的!

\n

更新 #1 - 现在可以使用(现已退役的)apache-log4j-1.2.x 的一个分支,其中包含针对旧库中发现的几个漏洞的补丁修复程序(来自原始 log4j 作者)。该网站是https://reload4j.qos.ch/。截至 2022 年 1 月 21 日,版本 1.2.18.2 已发布。迄今为止已解决的漏洞包括与JMSAppenderSocketServerChainsaw相关的漏洞漏洞相关的漏洞。请注意,我只是转发此信息。我还没有验证修复结果。请参阅链接了解更多详细信息。

\n

AKX*_*AKX 41

Log4j 2.0-beta9 中添加了JNDI 功能。

因此,Log4j 1.x 不存在易受攻击的代码。

  • 事实证明 log4j 1 在某些配置中可能容易受到攻击:https://github.com/apache/logging-log4j2/pull/608#issuecomment-990494126 (13认同)
  • 值得指出的是,虽然 Log4j 1.x 不会以同样的方式受到攻击,但此时它已经开放了多个 CVE(https://nvd.nist.gov/vuln/detail/CVE-2021-4104,https: //nvd.nist.gov/vuln/detail/CVE-2019-17571),自 2015 年 8 月起已终止 (https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces)。可能值得考虑的是,“如果已经存在多个漏洞,还可能发现什么?” 对于不再接收更新的库。 (6认同)

Mic*_*ade 34

虽然不受完全相同的 Log4Shell 问题的影响,但Apache Log4j 团队建议从 JAR 文件中删除JMSAppender和,它在CVE-2019-17571SocketServer中存在漏洞。

您可以使用该zip命令删除受影响的类。将文件名/版本替换为您的文件名/版本:

zip -d log4j-1.2.16.jar org/apache/log4j/net/JMSAppender.class
zip -d log4j-1.2.16.jar org/apache/log4j/net/SocketServer.class
Run Code Online (Sandbox Code Playgroud)

您可以使用lessgrep浏览 zip 中的文件,例如less log4j-1.2.16.jar | grep JMSAppender

话虽这么说,Apache 建议您如果可能的话升级到 2.x 版本。根据他们的安全页面

请注意,Log4j 1.x 已终止生命周期,不再受支持。2015 年 8 月后报告的针对 Log4j 1.x 的漏洞尚未得到检查,也不会得到修复。用户应升级到 Log4j 2 以获得安全修复程序。

  • 只是添加一个提醒 - log4j jar 文件仍将驻留在已部署的 war 文件和开发人员 Maven 存储库中。因此,使用这些应用程序的任何重建和重新部署都将重新引入这些类。 (2认同)