Apache Log4j2是一个基于Java的日志记录工具,是Log4j的升级,在其前身Log4j 1.x基础上提供了Logback中可用的很多优化,同时修复了Logback架构中的一些问题,是目前最优秀的Java日志框架之一。该日志框架被大量用于业务系统开发,用来记录日志信息。开发者可能会将用户输入造成的错误信息写入日志中。
此次 Apache Log4j2 漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。
影响版本
2.0 <= Apache log4j2 <= 2.14.1
官方补丁
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. 关闭对应应用的网络外连,禁止主动外连