IT资讯 紧急,Apache Log4j2 远程代码执行漏洞(解决方案来了)

giles · 2021-12-10 09:56:11 · 热度: 881

Apache Log4j 被披露存在一个反序列化漏洞(CVE-2017-5645)。攻击者可以通过发送一个特别制作的2进制payload,在组件将字节反序列化为对象时,触发并执行构造的payload代码,带来数据泄露的风险。

漏洞详情见下文:

漏洞编号

CVE-2017-5645

漏洞名称

Apache Log4j反序列化漏洞

漏洞描述

攻击者发送一个特别制作的2进制payload,在组件将字节反序列化为对象时,触发并执行构造的payload代码。该漏洞是由于在处理ObjectInputStream时,接收函数对于不可靠来源的input没有过滤。

因此,通过给TcpSocketServer和UdpSocketServer添加可配置的过滤功能以及一些相关设置,可以有效的解决该漏洞。

漏洞利用条件和方式

远程利用

漏洞影响范围

  • 受影响版本:Apache Log4j 2.0-alpha1 – Apache Log4j 2.8.1
  • 不受影响版本:Apache Log4j 2.8.2

漏洞检测

查看Apache Log4j是否在受影响版本内。

漏洞修复建议(或缓解措施)

  • 使用 Java 7+的用户应立即升级至2.8.2版本,或者避免使用socket server的相关类,参考链接
  • 使用Java 6的用户应该避免使用TCP或者UDP的socket server相关类,您也可以手动添加2.8.2版本更新的相关代码来解决该漏洞。
  • 目前官方发布了2.9最新版本 ,强烈建议您更新并使用最新版本。

官方补丁:

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

临时解决方案:

  1. 设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”
  2. 设置“log4j2.formatMsgNoLookups=True”

  3. 系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

  4. 关闭对应应用的网络外连,禁止主动外连

猜你喜欢:
共收到 3 条回复
spike #1 · 2021-12-10 10:39:44

颤抖吧 Javaer, log4j 史诗级漏洞

tineke #2 · 2021-12-10 10:39:59

修复措施: 在 log4j2.component.properties 配置文件中设置 log4j2.formatMsgNoLookups=true ,可以暂时缓解避免受漏洞的影响。

之所以是史诗级,是因为不仅 log4j 使用范围广,而且日志数据你不知道流到哪里的 log4j 就会触发

lionel #3 · 2021-12-10 10:41:15

Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.15.0-rc2 版本

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册