安全通告|Apache Log4j 任意代码执行漏洞

发布时间:2021-12-14 11:07  浏览次数:0

01

漏洞描述

       Apache Log4j 2是一款开源的Java日志记录工具,大量的业务框架都使用了该组件。
       近日,福建中信网安信息科技有限公司(简称“中信网安”)监测到Apache Log4j2存在远程代码执行漏洞,通过构造恶意的代码即可利用该漏洞,从而导致服务器权限丢失。由于漏洞PoC已在网上公开,默认配置即可进行利用,该漏洞影响范围极广,中信网安建议相关用户及时采取安全措施阻止漏洞攻击。

 

02

漏洞风险等级

 


      风险评级:高危
      影响范围:广泛
      危害等级:严重


03

影响版本

   
     Apache Log4j 2.x <= 2.15.0-rc1 版本均受影响;
     其它影响的应用及组件:
  • Spring-Boot-strater-log4j2
  • Apache Struts2
  • Apache Solr
  • Apache Flink
  • Apache Druid
  • ElasticSearch
  • flume
  • dubbo
  • Redis
  • logstash
  • kafk

04

漏洞复现



     中信网安对该漏洞进行复现并确认漏洞存在。


05

修复建议


     
       建议安全管理员第一时间联系应用开发商等相关维护人员,要求其进行安全漏洞自查,并根据本通告的指导进行修复和处置。
       1、官方补丁:
       https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
       2、临时修复:
       建议采用临时修复。修改1)的JVM最好,修改完重启后ps aux|grep java看看是否生效。如果改3),注意是否生效。
       1) 修改jvm参数:
       -Dlog4j2.formatMsgNoLookups=true
       2) 修改配置:
       log4j2.formatMsgNoLookups=True
      3) 将系统环境变量:
      FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为true
 

 

06

安全防护



       1、针对此漏洞,“华安星WEB应用安全防护系统” 已发布最新特征库升级包,请相关用户升级规则,以形成安全产品防护能力。
       2、无法升级特征库的,使用华安星WEB应用安全防护系统增加两条表达式规则,检测点为HTTP请求头和HTTP请求体,表达式为:\$\s*{\s*jndi\s*:\s*(ldap|rmi)\s*: 具体配置如下图:
 
12

 

07

自查检测

      1、人工检测:
      采用以下3种方法均可检测出是否存在漏洞:
      1) 相关用户可根据Java jar解压后是否存在org/apache/logging/log4j相关路径结构,判断是否使用了存在漏洞的组件,若存在相关Java程序包,则很可能存在该漏洞。

3

       
       2)若程序使用Maven打包,查看项目的pom.xml文件中是否存在下图所示的相关字段,若版本号为小于2.15.0,则存在该漏洞。

 

4


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

5

 

        2、 攻击排查:
        以下2点均可人工检测出是否存在利用该漏洞的攻击行为:
       1) 攻击者在利用前通常采用dnslog方式进行扫描、探测,常见的漏洞利用方式可通过应用系统报错日志中的"javax.naming.CommunicationException"、"javax.naming.NamingException: problem generating object using object factory"、"Error looking up JNDI resource"关键字进行排查。

6
 

       2) 攻击者发送的数据包中可能存在"${jndi:}" 字样,推荐使用全流量或WAF设备进行检索排查。
 
7
 
联系我们