目录

springboot-修复-Spring-Framework-特定条件下目录遍历漏洞CVE-2024-38816

springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)

一定要看到最后!

一定要看到最后!

一定要看到最后!

一、漏洞描述

Spring框架是 Java 平台的一个开源的全栈应用程序框架和控制反转容器实现。2024年9月,Spring官方发布公告披露 CVE-2024-38816 Spring Framework 特定条件下目录遍历漏洞。当同时满足使用 RouterFunctions 和 FileSystemResource 来处理和提供静态文件 时,攻击者可构造恶意请求遍历读取系统上的文件。

影响范围

Spring Framework 5.3.0 - 5.3.39

Spring Framework 6.0.0 - 6.0.23

Spring Framework 6.1.0 - 6.1.12

其他更老或者官方已不支持的版本

安全版本

Spring Framework 5.3.40

Spring Framework 6.0.24

Spring Framework 6.1.13

二、解决建议

1、建议更新至最新版本。

2、排查代码中是否有类似使用,结合实际情况可确认是否实际受影响。

springboot2.x的用户请注意:

安全版本Spring Framework 5.3.40为企业版, 未免费开放使用!

安全版本Spring Framework 5.3.40为企业版, 未免费开放使用!

安全版本Spring Framework 5.3.40为企业版, 未免费开放使用!

因此,springboot2.x的用户只能升级到springboot3.x最新版本(哭晕在厕所),这是一项大工程,需改修改的东西很多,不过小编已经踩过坑了,需要升级的用户请参考小编的经验总结:

安全版本6.0.24 和 6.1.13 是springboot3.x使用的版本,springboot3.x的用户只需要将springboot升级到最新版本即可,官方已发布最新版本,如下图所示,springboot3.2以下版本已不再提供更新维护。

https://i-blog.csdnimg.cn/direct/f20b998e3dad492cb8293d36b26a2beb.png

那么针对比较老旧的项目,比如SpringMVC+JSP的老项目,升级比较困难,或者自己短时间内抽不出时间来改造的项目,我们应该怎么办,Spring官方解释如下

https://i-blog.csdnimg.cn/direct/3f3208369c464758815355a030326063.png 意思是: 当以下任何一项为真时,恶意请求将被阻止和拒绝:

  • 正在使用Spring Security HTTP防火墙
  • 应用程序在Tomcat或Jetty上运行

所以,只要我们的项目使用了 Spring Security HTTP防火墙 或者 在Tomcat或Jetty上运行 ,就会避免该漏洞导致的影响,Spring官方回复链接:https://spring.io/security/cve-2024-38816。不过,有时间的情况下最好升级到最新版本,老版本已不再维护,谁知道下一次其他漏洞什么时候会到来呢。

2024年10月30日补充:

上面说的问题他真的来了,没过多久,2024年10月,Spring官方发布公告披露 CVE-2024-38819 Spring Framework 特定条件下目录遍历漏洞,所以还是升级到最新版本吧,springboot官方最新版本 3.3.5 修复了该漏洞。

https://i-blog.csdnimg.cn/direct/2906ab389a2c496cb4bfec0af4550f51.png

祝大家升级顺利!