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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容