Log4j 任意代码执行漏洞,组件升级

漏洞性质:任意代码执行

漏洞描述:

2021 年 12 月 9 日,该项目被曝存在 严重安全漏洞 ,攻击者只需要向目标机传入一段特殊代码,就能触发漏洞,自由地在远程执行任意代码来控制目标机器!

Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。log4j2是全球使用广泛的java日志框架,同时该漏洞还影响很多全球使用量的Top序列的通用开源组件,例如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink等。

漏洞危害:

Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据被日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码,可能对用户造成不可挽回的损失。

危害等级:严重

 

Log4j 任意代码执行漏洞,组件升级_第1张图片

解决方案:升级平台所有依赖组件版本号,org.apache.logging.log4j 2.17.0,

目前平台springboot版本号为 2.2.0,依赖的日志组件版本为 2.12.1需要升级,官方修复补丁在2.15以上版本。本次升级到2.17.0最新版本。

1.检查项目的maven对应的组件

Log4j 任意代码执行漏洞,组件升级_第2张图片

2.依次修改各war包工程中的pom文件引用,单独引用log4j组件

Log4j 任意代码执行漏洞,组件升级_第3张图片

				
            org.springframework.boot
            spring-boot-starter-web
            
                
                    org.springframework.boot
                    spring-boot-starter-tomcat
                
                
                
                    org.apache.logging.log4j
                    log4j-to-slf4j
                
                
            
        
        
        
            org.apache.logging.log4j
            log4j-to-slf4j
            2.17.0
            
                
                    org.apache.logging.log4j
                    log4j-api
                
            
        
        
            org.apache.logging.log4j
            log4j-api
            2.17.0
        
        
3.修改rs-parent主工程对应的pom文件,排除日志依赖的引用

Log4j 任意代码执行漏洞,组件升级_第4张图片

            
                
                    org.apache.logging.log4j
                    log4j-to-slf4j
                
            
4.如有工作流模组,需要对应修改工作流

Log4j 任意代码执行漏洞,组件升级_第5张图片

						
                
                    org.apache.logging.log4j
                    log4j-slf4j-impl
                
                
                    org.apache.logging.log4j
                    log4j-api
                
            


            
            
                
                    org.springframework.boot
                    spring-boot-starter-log4j2
                
            
            
5.再次检查整个工程的maven依赖,确认升级成功

确保log4j的版本号已经为最新的2.17.0引用。

Log4j 任意代码执行漏洞,组件升级_第6张图片

你可能感兴趣的:(log4j)