安全研究

Apache Struts2 遠程代碼執行(xíng)漏洞

漏洞描述

Struts2是一(yī)個基于MVC設計模式的(de)Web應用框架,它本質上相當于一(yī)個servlet,在MVC設計模式中,Struts2作為(wèi)控制器(Controller)來建立模型與視(shì)圖的(de)數據交互。
Apache Struts2存在S2-057遠程代碼執行(xíng)漏洞,當定義xml配置時,namespace沒有(yǒu)設置,并且上層操作沒有(yǒu)設置或者使用的(de)是通配符namespace時,可(kě)能導緻遠程命令執行(xíng),當使用沒有(yǒu)設置value和(hé)action的(de)url标簽的(de)時候也會導緻相同的(de)漏洞

漏洞評級

高(gāo)危

影響範圍

1、定義XML配置時namespace值未設置且上層動作配置(Action Configuration)中未設置或用通配符namespace可(kě)能會導緻遠程代碼執行(xíng)。
2、url标簽未設置value和(hé)action值且上層動作未設置或用通配符namespace可(kě)能會導緻遠程代碼執行(xíng)。
影響版本:
Apache Struts2 >=2.3,<=2.3.34
Apache Struts2 >=2.5,<=2.5.16

修複建議

1、請盡快升級到Apache Struts版本2.3.35或2.5.17,因為(wèi)它們(men)還包含關鍵的(de)主動性整體安全方面的(de)改進。
2、驗證您是否以namespace為(wèi)基礎,将xml配置文件中的(de)所有(yǒu)已定義結果設置。同時要驗證在你的(de)JSP文件中已經給所有(yǒu)url标簽設置value或者action。
3、已部署使用帕拉迪下一(yī)代WEB應用防護系統NGWAF的(de)客戶,利用專有(yǒu)的(de)動态建模技術,無須升級安全策略即完美攔截利用該漏洞的(de)攻擊。
Copyright © 2019 All Rights Reserved Designed
杭州帕拉迪網絡科(kē)技有(yǒu)限公司