您的位置 首页 java

Log4j 爆“核弹级”漏洞,蛋蛋教你紧急修复,速改

大家好,我是蛋蛋!

昨天,手机突然收到 腾讯云 的一条短信,提示发现 Log4j 2 远程代码执行漏洞,需要我进行紧急修复,立马关注了一下;

Log4j 爆“核弹级”漏洞,蛋蛋教你紧急修复,速改

漏洞描述

Apache log4j 2 是一个基于Java的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能将用户输入导致的错误信息写入日志中。

但是近日发现,此日志工具存在一个高危漏洞, Log4j2 中存在 JNDI 注入漏洞 ,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用漏洞可以在目标服务器上执行任意代码。

因该组件使用非常广泛,并且漏洞被利用的门槛非常低,危害很大,腾讯安全专家建议所有用户尽快升级到安全版本。

漏洞评估

高危漏洞

该漏洞影响范围极大,危害极大。

CVSS评分: 10 (最高级)

漏洞状态:

漏洞详情

POC

EXP

在野利用

已公开

已知

已知

已发现

受影响范围:

Apache Log4j 2.x <= 2.14.1 版本均回会受到影响。可能的受影响应用包括但不限于: Spring-Boot-strater-log4j2、Apache Struts2、Apache Solr、Apache Flink、Apache Druid、 Elasticsearch 、Flume、 Dubbo Redis 、Logstash、 Kafka 等。

腾讯安全专家漏洞复现验证

简单来说,如果在打印日志时,发现日志内容包含关键词 ${ ,那么这个里面包含的内容回当做变量进行替换,导致攻击者可以任意执行命令,例如上图所示可以调起计算器程序。

检查是否收到漏洞攻击

  1. 可以通过检查日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
  1. 检查日志中是否存在相关堆栈报错,堆栈里是否有JndiLookup、ldapURLContext、getObjectFactoryFromReference等与 jndi 调用相关的堆栈信息。

漏洞修复方案

首先检查一下自己项目是否安装了 log4j 依赖,如果有的话,将其版本升级到 log4j-2.15.0

 <!--  -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.15.0</version>
</dependency>

<!--  -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.15.0</version>
</dependency>  

其他修复方案

  1. 修改jvm参数 -Dlog4j2. FORMAT MsgNoLookups=true
  1. 修改配置log4j2.formatMsgNoLookups=True
  1. 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
  2. 禁止使用 log4j 服务器外连
  3. jdk 升级到 11.0.1 8u19 7u201 6u211 或更高版本

文章来源:智云一二三科技

文章标题:Log4j 爆“核弹级”漏洞,蛋蛋教你紧急修复,速改

文章地址:https://www.zhihuclub.com/194080.shtml

关于作者: 智云科技

热门文章

网站地图