Spring Web UricomponentsBuilder URL解析不当漏洞 怎么解决

Blade 未结 2 463
大葱
大葱 2024-06-17 14:36

一、该问题的重现步骤是什么?

1. Spring Web UricomponentsBuilder URL解析不当漏洞(CVE-2024-22243)

2. 只需要升级spring - web 版本能解决?

3. 


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  admin
    admin (楼主)
    2024-06-17 15:04

    手动升级spring的依赖,或者使用最新版bladex,bladex最新版为6.1.5,采用的版本已经不存在这个漏洞了

    CleanShot20240617150427@2x.png

    CleanShot20240617151838@2x.png




    低版本Spring升级参考如下配置:

    
        
        
    
        
            
                
                
                    org.springframework
                    spring-framework-bom
                    5.3.32
                    pom
                    import
                
    
                
            
        
    
        
    


    作者追问:2024-06-17 15:04

    blade 版本 

    2.9.1.RELEASE

    spring boot 版本2.3.12.RELEASE

    spring-web-5.2.15.RELEASE.jar截图_20240617170056.png


    想替换spring-web 相关版本到6.1.6  

    想知道具体操作方法和可行性

    回答: 2024-06-17 15:04

    只建议更新到5.3.32,如果要6.x,需要全体工程大改。

    作者追问:2024-06-17 15:04

    如果更新到5.3.32版本,具体需要怎么操作?

    回答: 2024-06-17 15:04

    项目根目录pom.xml配置Spring的版本,强制覆盖就行了

    作者追问:2024-06-17 15:04

    image.png

    image.png

    升级spring版本到5.3.32后 无法调用获取验证码接口

    回答: 2024-06-17 15:04

    检查AbstractReadWniteJackson2HttpMessaqeConventer,检查相关工具类是不是版本需要升级

    作者追问:2024-06-17 15:04

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskExecutorBuilder' defined in class path resource [org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.task.TaskExecutorBuilder]: Factory method 'taskExecutorBuilder' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskExecutorCustomizer' defined in class path resource [org/springblade/core/boot/config/BladeExecutorConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.task.TaskExecutorCustomizer]: Illegal arguments to factory method 'taskExecutorCustomizer'; args: ; nested exception is java.lang.IllegalArgumentException: object is not an instance of declaring class
    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.task.TaskExecutorBuilder]: Factory method 'taskExecutorBuilder' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskExecutorCustomizer' defined in class path resource [org/springblade/core/boot/config/BladeExecutorConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.task.TaskExecutorCustomizer]: Illegal arguments to factory method 'taskExecutorCustomizer'; args: ; nested exception is java.lang.IllegalArgumentException: object is not an instance of declaring class
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskExecutorCustomizer' defined in class path resource [org/springblade/core/boot/config/BladeExecutorConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.task.TaskExecutorCustomizer]: Illegal arguments to factory method 'taskExecutorCustomizer'; args: ; nested exception is java.lang.IllegalArgumentException: object is not an instance of declaring class

    image.png

    image.png

    image.png

    spring-boot-2.3.12.RELEASE

    spring-web 5.3.32

    启动项目报错,想以最小的改动,解决springweb版本异常问题

    回答: 2024-06-17 15:04

    我查了下,bladex 2.9.1 依赖的spring版本为5.2.15,不在这个漏洞范围内,所以你都不需要修复了。

    CleanShot20240619093346@2x.png

    回答: 2024-06-17 15:04

    另外关于框架本身的安全部署问题,推荐看下这个文档:https://center.javablade.com/blade/BladeX-Safety 

    把一些安全隐患解决,基本就不会受其他漏洞影响了,因为第一层token认证都过不去的。

提交回复