收藏

Apache Log4j2远程代码执行漏洞风险处理办法

2021-12-16  本文已影响0人  架构师奶爸

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

上一篇下一篇

猜你喜欢

热点阅读