ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Apache Log4j 任意代码执行漏洞

2021-12-10 19:03:14  阅读:239  来源: 互联网

标签:存在 漏洞 代码执行 Apache 日志 Log4j


安全风险通告

第1章 安全通告

 近日,相关机构监测到 Apache Log4j 存在任意代码执行漏洞,经过分析,该组件存在 Java JNDI 注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

经验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等众多组件与大型应用均受影响,鉴于此漏洞危害巨大,利用门槛极低,建议尽快参考缓解方案阻止漏洞攻击。

当前漏洞状态:

技术细节

PoC 状态

 

EXP 状态

在野利用

 

已公开

已公开

已公开

已发现

2章 漏洞信息

2.1 漏洞描述

Apache Log4j 是 Apache 的一个开源项目,Apache log4j2 是 Log4j 的升级版本,我们可以控制日志信息输送的目的地为控制台、文件、GUI 组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。

近日,奇安信 CERT 监测到 Apache Log4j 存在任意代码执行漏洞,经过分析,该组件存在 Java JNDI 注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。经验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等众多组件与大型应用均受影响,鉴于此漏洞危害巨大,利用门槛极低,建议尽快参考缓解方案阻止漏洞攻击。

Apache Log4j 任意代码执行漏洞

漏洞名称

Apache Log4j 任意代码执行漏洞

漏洞类型

代码执行

风险等级

紧急

漏洞 ID

暂无

公开状态

已公开

在野利用

已发现

漏洞描述

Apache Log4j 是 Apache 的一个开源项目,通过定义每一条

日志信息的级别,能够更加细致地控制日志生成过程。经过分

析,Log4j2 中存在 JNDI 注入漏洞,当程序将用户输入的数据进行 日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

参考链接

https://github.com/apache/logging-log4j2 

2.2 风险等级

紧急

3章 影响范围

Apache Log4j 2.x < 2.15.0-rc2 

4章 处置建议

1. 漏洞排查

1)排查应用是否引入了 Apache Log4j2 Jar 包,若存在依赖引入,则可能存在漏洞影响。 相关用户可根据 Java JAR 解压后是否存在org/apache/logging/log4j 相关路径结构,判断是否使用了存在漏洞的组件,若存在相关 Java 程序 包,则极可能存在该漏洞。

 

2) 若程序使用 Maven 打包,查看项目的 pom.xml 文件中是否存在如下图

所示的相关字段,若版本号为小于 2.15.0-rc2,则存在该漏洞。

 

 3)若程序使用 gradle 打包,查看 build.gradle 编译配置文件,若在dependencies 部分存在 org.apache.logging.log4j 相关字段,且版本号为小于 2.15.0-rc2,则存在该漏洞。

 

 

2. 攻击排查

a) 攻击者在利用前通常采用 dnslog 方式进行扫描、探测,对于常见利用方式可通过应用系统报错日志中的

"javax.naming.CommunicationException"、

"javax.naming.NamingException: problem generating object usingobject factory"、"Error looking up JNDI resource"关键字进行排查。

b) 流量排查:攻击者的数据包中可能存在:“${jndi:rmi”、“${jndi:ldap”字样。

3. 修复建议

a) 升级到最新版本:

请联系厂商获取修复后的官方版本:https://github.com/apache/logginglog4j2 ;

请尽快升级 Apache Log4j2 所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2  

b) 缓解措施:

(1)添加 jvm 启动参数 -Dlog4j2.formatMsgNoLookups=true

(2)在应用程序的 classpath 下添加 log4j2.component.properties 配置文件,文件内容:log4j2.formatMsgNoLookups=True

(3)设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为 true

(4)建议 JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本

(5)限制受影响应用对外访问互联网 

 

标签:存在,漏洞,代码执行,Apache,日志,Log4j
来源: https://www.cnblogs.com/xh_Blog/p/15673412.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有