昨晚一直到现在技术圈可谓是炸锅了,所有人都在关注着一个漏洞:Apache Log4j 2 远程代码执行。该漏洞一旦被攻击者利用会造成严重危害。
图片来自 Pexels
由于该组件广泛应用在各个 Java 程序中,影响范围极大,排查难度大,危害性很高,很多互联网公司的程序员们熬夜加班急修复。
漏洞简介
由于 Apache Log4j 2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
漏洞危害
漏洞利用无需特殊配置,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
影响范围
Apache Log4j 2.x <= 2.14.1
修复措施
建议排查 Java 应用是否引入 log4j-api , log4j-core 两个 jar,若存在使用,极大可能会受到影响,强烈建议受影响用户尽快进行防护。
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
②升级已知受影响的应用及组件,如:
spring-boot-strater-log4j2
Apache Solr
Apache Flink
Apache Druid
......
紧急缓解措施
如果还来不及更新版本修复,可通过下面的方法紧急缓解问题:
①修改jvm参数 -Dlog4j2.formatMsgNoLookups=true
②修改配置:log4j2.formatMsgNoLookups=True
③将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
关注公众号【Java技术江湖】后回复“PDF”即可领取200+页的《Java工程师面试指南》
强烈推荐,几乎涵盖所有Java工程师必知必会的知识点,不管是复习还是面试,都很实用。