天天看點

Spring WebFlow 遠端代碼執行漏洞CVE-2017-4971 綠盟科技釋出安全威脅通告

spring web flow 的目标是成為管理web應用頁面流程的最佳方案。當你的應用需要複雜的導航控制,例如向導,在一個比較大的事務過程中去指導使用者經過一連串的步驟的時候,swf将會是一個功能強大的控制器。

spring web flow 是 spring 的一個子項目,其最主要的目的是解決跨越多個請求的、使用者與伺服器之間的、有狀态互動問題,最新版本為 2.0 。

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上進行的spring webflow 漏洞分析稱

spring嚴重的漏洞曆來都不算多,之前比較嚴重的那個問題是spring的javabean的自動綁定功能,導緻可以控制class,進而導緻可以利用某些特性執行任意代碼,但是那個漏洞比較雞肋,不是每次都能觸發。
由于spring的架構越來越多,而且後面引入了springel作為預設的表達式解析方式,是以一旦引入了類似于ognl的表達式,很可能會帶來一些安全問題,本次漏洞就是由于spring webflow的資料綁定問題帶來的表達式注入,進而導緻任意代碼執行。

綠盟科技釋出安全威脅通告,

近日,釋出了更新更新檔修複了一個在資料綁定上存在的一個漏洞()。該漏洞源于在的資料綁定上沒有指定相關的具體屬性,進而導緻惡意的表達式可以通過表單送出并且被執行,導緻遠端代碼執行。在受影響的版本中,該漏洞可以通過更改預設配置以及提升編碼規範來規避,官方也已經釋出了相關更新檔修複了該漏洞。

參考連結:

<a href="https://pivotal.io/security/cve-2017-4971">https://pivotal.io/security/cve-2017-4971</a>

spring web flow 2.4.0 – 2.4.4

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

spring web flow 2.4.5

官方已經釋出了新版本,請受影響的使用者及時更新更新至最新的版本來防護該漏洞。官方同時建議使用者應該更改資料綁定的預設設定來確定送出的表單資訊符合要求來規避類似惡意行為。

參考連結:

本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的資訊而造成的任何直接或者間接的後果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部内容。未經綠盟科技允許,不得任意修改或者增減此安全公告内容,不得以任何方式将其用于商業目的。

原文釋出時間:2017年6月12日

本文由:安全加釋出,版權歸屬于原作者

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

本文來自雲栖社群合作夥伴安全加,了解相關資訊可以關注安全加網站