大家好,我是栈长。
最近技术栈真是醉了,Log4j2 的核弹级漏洞刚告一段落,这个月初 Spring Cloud Gateway 又突发高危漏洞,现在连最要命的 Spring 框架也沦陷了。。。
栈长今天看到了一些安全机构发布的相关漏洞通告,Spring 官方博客也发布了漏洞声明:
漏洞描述:
用户可以通过制作特制的 SpEl 表达式引发 DoS(拒绝服务)漏洞。
SpEL 全称:Spring Expression Language,即:Spring 表达式语言。
这玩意平时使用不多,但在关键时候却很有用,比如我们在 Bean 注入动态取参数的时候经常会遇到:
<bean id="user" class="cn.javastack.User">
<property name="country" value="#{systemProperties['user.country'] }"/>
...
</bean>
或者基于注解的:
@Component
public class User
@Value("#{systemProperties['user.country']}")
private String country;
...
}
当然,SpEL 的功能强大不止于此。
影响范围:
- Spring 5.3.0 ~ 5.3.16
- 其他老版本、不受支持的版本也会受到影响
解决方案:
- 升级到最新版本:Spring Framework 5.3.17
- Spring Boot 用户升级到:2.5.11、2.6.5
很奇怪的是,在前几天的 Spring Boot 2.6.5 发布说明中并没有说明这个漏洞,而且版本也早于漏洞发生前发布,但却包含了漏洞的修复,这是什么操作呢?
不管怎么样,大家赶紧检查升级保平安吧!
最后,如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。
参考:https://tanzu.vmware.com/security/cve-2022-22950
版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2022最新版)
4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!
觉得不错,别忘了随手点赞+转发哦!