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

2022-08-31 17:18:04

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

问题是,虽然互联网上的帖子表明Log4j 1.2也很脆弱,但我无法找到相关的源代码。

我是否遗漏了其他人已经确定的东西?

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

我的理解 - Log4j v1.2 - 不容易受到jndi远程代码执行错误的影响是正确的吗?

引用

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

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


答案 1

JNDI 功能已添加到 Log4j 2.0-beta9 中

因此,Log4j 1.x没有易受攻击的代码。


答案 2

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

可以使用该命令删除受影响的类。将文件名/版本替换为您的: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

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

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

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