1、漏洞描述
一个Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。
2、漏洞修复方式:
2.1、jvm 增加启动参数:
-Dlog4j2.formatMsgNoLookups=true
2.2、java 日志输出前增加代码:
System.setProperty("com.sun.jndi.rmi.object.trustURLCodebase", "true");
备注说明:必须为true
2.3、升级安全版本:
spring boot 项目
<dependency> <!-- 引入log4j2依赖 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
单独引包:
Apache log4j-2.15.0-rc2
(2.15.0-rc1版,经腾讯安全专家验证可以被绕过)
2.4、项目文件配置参数
log4j2.formatMsgNoLookups=True
参考链接:
https://github.com/apache/logging-log4j2
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
网友评论