昨天,开源地震:Apache Log4j2 发现远程代码执行漏洞,高危!
点击关注公众号,Java干货及时送达👇
1、漏洞简介
Apache Log4j2是一款非常优秀的Java日志框架。该工具重写了Log4j框架,并且引入了大量丰富的特性,压测表现远超log4j和logback。该日志框架被大量用于业务系统开发,用来记录日志信息。
此次漏洞的出现,是由用于 Log4j 2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。“微步在线研究响应中心”做了漏洞复现。简单来说,就是在打印日志时,如果发现日志内容中包含关键词 ${,那么这个里面包含的内容会当做变量来进行替换,导致攻击者可以任意执行命令。详细漏洞披露可查看:https://issues.apache.org/jira/projects/LOG4J2/issues/LOG4J2-3201?filter=allissues
2、漏洞危害
漏洞利用无需特殊配置,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
3、漏洞编号
暂无
4、影响范围
Apache Log4j 2.x <= 2.14.1
根据目前对于此类漏洞的研究积累,我们建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
5、修复措施
紧急缓解措施:
1、修改 jvm 参数 -Dlog4j2.formatMsgNoLookups=true
2、修改配置 log4j2.formatMsgNoLookups=True
3、将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
最终修复措施:
升级Apache Log4j 2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2(重要说明:12 月 10 日上午,阿里云安全团队再次发出预警,发现 Apache Log4j 2.15.0-rc1 版本仍然存在漏洞绕过,建议及时更新至 Apache Log4j 2.15.0-rc2 版本)
5、关联影响
由于logj4j2几乎成为了日志工具的标准,所以非常多大名鼎鼎的开源工具也受到了影响。升级已知受影响的应用及组件包括但不限于:
1. srping-boot-strater-log4j2
2. Solr
3. Flink
4. Druid
5. kafka
6. elasticsearch
7. druid
8. flink
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)