Spring WebFlow 远程代码执行漏洞CVE-2017-4971 绿盟科技发布安全威胁通告

简介:

Spring出现 WebFlow 远程代码执行漏洞(CVE-2017-4971), 该漏洞是去年年底提交的,CVE目前还处于保留状态。但有消息称,相关信息在5月31日被公开,据公开消息称,这个漏洞影响 Spring WebFlow 的2.4.0到2.4.4,以及更早期的版本。PoC已经公开。绿盟科技发布安全威胁通告。

Spring Web Flow 是什么

Spring Web Flow 的目标是成为管理Web应用页面流程的最佳方案。当你的应用需要复杂的导航控制,例如向导,在一个比较大的事务过程中去指导用户经过一连串的步骤的时候,SWF将会是一个功能强大的控制器。

Spring Web Flow 是 Spring 的一个子项目,其最主要的目的是解决跨越多个请求的、用户与服务器之间的、有状态交互问题,最新版本为 2.0 。

pivotal给出了漏洞描述及缓解方案

pivotal.io将该漏洞表述为Data Binding Expression漏洞,并称

默认状态下, usespringbinding属性默认是禁用的,应用程序不改变MvcViewFactoryCreator的值,但如果子元素没有声明显式的数据绑定属性,则在视图状态中的表单提交过程中,容易受到恶意的EL表达式的攻击,从而导致漏洞利用。

影响范围

  • Spring Web Flow 2.4.0 to 2.4.4
  • Older unsupported versions are also affected

缓解措施

建议相关版本的用户采取如下措施进行缓解

  • 2.4.x用户升级到2.4.5
  • 建议在视图状态中始终使用显式数据绑定声明, 以防止表单提交在不应设置的目标对象上设置字段。
  • Spring Web Flow with JSF 的用户不受到影响.

ThreatHunter进行了漏洞分析

ThreatHunter上进行的Spring WebFlow 漏洞分析称

Spring严重的漏洞历来都不算多,之前比较严重的那个问题是Spring的JavaBean的自动绑定功能,导致可以控制class,从而导致可以利用某些特性执行任意代码,但是那个漏洞比较鸡肋,不是每次都能触发。

由于Spring的框架越来越多,而且后面引入了SpringEl作为默认的表达式解析方式,所以一旦引入了类似于OGNL的表达式,很可能会带来一些安全问题,本次漏洞就是由于Spring WebFlow的数据绑定问题带来的表达式注入,从而导致任意代码执行。

绿盟科技 Spring Web Flow 远程代码执行漏洞(CVE-2017-4971)安全威胁通告

绿盟科技发布安全威胁通告,

近日,发布了更新补丁修复了一个在数据绑定上存在的一个漏洞()。该漏洞源于在的数据绑定上没有指定相关的具体属性,从而导致恶意的表达式可以通过表单提交并且被执行,导致远程代码执行。在受影响的版本中,该漏洞可以通过更改默认配置以及提升编码规范来规避,官方也已经发布了相关补丁修复了该漏洞。

参考链接:

https://pivotal.io/security/cve-2017-4971

受影响的版本

  • Spring Web Flow 2.4.0 – 2.4.4

注:官方停止支持的更早的版本也受影响。

不受影响的版本

  • Spring Web Flow 2.4.5

规避方案

官方已经发布了新版本,请受影响的用户及时更新升级至最新的版本来防护该漏洞。官方同时建议用户应该更改数据绑定的默认设置来确保提交的表单信息符合要求来规避类似恶意行为。

参考链接:

https://pivotal.io/security/cve-2017-4971

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。


原文发布时间:2017年6月12日

本文由:安全加发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/spring-webflow-rce-cve-2017-4971

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
5月前
|
安全 Java 数据安全/隐私保护
|
5月前
|
安全 Java API
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)(上)
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)
150 0
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)(上)
|
2月前
|
测试技术 Java Spring
Spring 框架中的测试之道:揭秘单元测试与集成测试的双重保障,你的应用真的安全了吗?
【8月更文挑战第31天】本文以问答形式深入探讨了Spring框架中的测试策略,包括单元测试与集成测试的有效编写方法,及其对提升代码质量和可靠性的重要性。通过具体示例,展示了如何使用`@MockBean`、`@SpringBootTest`等注解来进行服务和控制器的测试,同时介绍了Spring Boot提供的测试工具,如`@DataJpaTest`,以简化数据库测试流程。合理运用这些测试策略和工具,将助力开发者构建更为稳健的软件系统。
39 0
|
2月前
|
存储 安全 Java
|
2月前
|
安全 Java 开发者
|
2月前
|
安全 Java Spring
Spring Boot 关闭 Actuator ,满足安全工具扫描
Spring Boot 关闭 Actuator ,满足安全工具扫描
85 0
|
2月前
|
安全 Java 网络安全
Spring Framework JDK >= 9 远程代码执行(CVE-2022-22965)
Spring Framework JDK >= 9 远程代码执行(CVE-2022-22965)
|
3月前
|
安全 Java 数据安全/隐私保护
Spring Boot中的安全漏洞防护
Spring Boot中的安全漏洞防护
|
3月前
|
安全 Java 数据库连接
Spring Boot 优雅关机时异步线程安全优化
Spring Boot 优雅关机时异步线程安全优化
73 1
|
4月前
|
存储 安全 Java
详解 Spring Security:全面保护 Java 应用程序的安全框架
详解 Spring Security:全面保护 Java 应用程序的安全框架
318 1
下一篇
无影云桌面