大家好,我是栈长。

最近技术栈真是醉了,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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注