一定要看到最后!
一定要看到最后!
一定要看到最后!
一、漏洞描述
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最新版本(哭晕在厕所),这是一项大工程,需改修改的东西很多,不过小编已经踩过坑了,需要升级的用户请参考小编的经验总结:
springboot2.x升级到3.x实战经验总结[这里是图片001]https://blog.csdn.net/LDY1016/article/details/136499836?spm=1001.2014.3001.5501
安全版本6.0.24 和 6.1.13 是springboot3.x使用的版本,springboot3.x的用户只需要将springboot升级到最新版本即可,官方已发布最新版本,如下图所示,springboot3.2以下版本已不再提供更新维护。
那么针对比较老旧的项目,比如SpringMVC+JSP的老项目,升级比较困难,或者自己短时间内抽不出时间来改造的项目,我们应该怎么办,Spring官方解释如下
意思是:当以下任何一项为真时,恶意请求将被阻止和拒绝:
- 正在使用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 修复了该漏洞。
祝大家升级顺利!