用户可以通过特制的 Spring 表达式语言(SpEL)表达式,造成 DoS 拒绝服务漏洞。 影响的 Spring 版本:
5.3.0 - 5.3.38;
其他老版本都受影响
所以,修复上面谁人 DoS 漏洞的 5.3.38 版本也已经不安全了,这个漏洞的办理办法就是升级到最新安全版本:Spring 5.3.9 或者 6.0+。
另外,尽量避免对用户提供的 SpEL 表达式进行求值运算,如果肯定要求值,就须要在只读模式下利用 SimpleEvaluationContext 类进行处理。
所以,最终办理以上两个漏洞的 Spring 安全版本是:
漏洞版本安全版本6.1.x6.1.126.0.x6.0.235.3.x5.3.39现在都是 Spring Boot 框架了,建议检查 Spring 依赖并升级到安全的 Spring Boot 版本,基于 3.1.x 以下的版本都停止维护了,最好的办法是升级到 3.2.x 及以上的版本:
但是,R哥检查了下最新的 3.3.2 和 3.2.8 版本,它们还是上个月发布的,并未发布适配这两天发布的 Spring 6.1.12 安全版本,所以须要等候下一个版本。
有须要的自行替换 Spring Boot 中的 Spring 依赖吧,但须要注意兼容性题目。
Spring Boot 基础就不介绍了,推荐看这个实战项目: