Pivotal Spring官方发布安全公告,Spring框架中存在三个漏洞,其中编号为CVE-2018-1270的漏洞可导致远程代码执行。在引入且使用spring-messaging组件时,攻击者可通过WebSocket向服务器端发送携带有恶意代码的STOMP报文,直接获取服务器控制权限。
Pivotal Spring官方4月9日对之前发布的公告进行了部分修订,受CVE-2018-1270漏洞影响的版本修订为Spring Framework 4.3.15及5.0.4。
详情请参考如下链接:
https://pivotal.io/security/cve-2018-1275
漏洞影响
目前已知受影响的Pivotal产品及版本为:
- Spring Framework 5.0 to 5.0.4
- Spring Framework 4.3 to 4.3.15
- 早期官方已不支持的版本
不受影响的版本为:
- Spring Framework 5.0.5 to 5.0.6
- Spring Framework 4.3.16 to 4.3.17
影响排查
漏洞产生于spring-messaging组件,对于使用Spring框架的应用系统,首先排查是否引入了spring-messaging组件并实现STOMP消息传送功能,查看Spring Framework的版本是否在受影响范围内。
在应用系统中直接查看Maven/Gradle中引入的Spring Framework版本,如:
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.4.RELEASE</version> </dependency> </dependencies>
解决建议
Pivotal Spring官方已经在新版本中对爆出的漏洞进行了修复,受漏洞影响的用户请尽快升级框架版本。
Spring官方地址:
https://projects.spring.io/spring-framework/
开发人员可通过配置Maven或者Gradle的方式,升级框架并编译发布。
Maven配置
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.5.RELEASE</version> </dependency> </dependencies>
Gradle配置
dependencies { compile 'org.springframework:spring-context:5.0.5.RELEASE' }
漏洞简析
spring-messaging模块实现STOMP(Simple Text-Orientated Messaging Protocol)协议,通过WebSocket进行STOMP报文的数据交互。攻击者可以通过建立WebSocket连接并发送一条消息造成远程代码执行。