Struts2漏洞预警

Struts2 devMode导致远程代码执行漏洞

什么是devMode?

所谓的devMode模式,看名称也知道,是为Struts2开发人员调试程序准备的,在此模式下可以方便地查看日志等信息。默认情况下,devMode模式是关闭的。不过实际上仍然有很多网站上线的时候就赤裸裸地采用devMode模式,自然面临更大的安全问题,需要尽快修复。

影响范围:

当Struts开启devMode时,该漏洞将影响Struts 2.1.0–2.5.1,通杀Struts2所有版本。

修复方案:

关闭devMode:在struts.xml 设置

<constant name="struts.devMode" value="false" />



Struts2相关漏洞说明:

===========================================================================================

[+]11 S2-046  CVE-2017-5638   可执行CMD命令

[+]10 S2-045  CVE-2017-5638   可执行CMD命令

[+]9 devMode CVE-xxxx-xxxx   可GetShell/获取物理路径/执行CMD命令

[+]8 S2-037  CVE-2016-4438   可GetShell/获取物理路径/执行CMD命令

[+]7 S2-032  CVE-2016-3081   可GetShell/获取物理路径/执行CMD命令

[+]6 S2-020  CVE-2014-0094   可GetShell

[+]5 S2-019  CVE-2013-4316   可GetShell/获取物理路径/执行CMD命令

[+]4 S2-016  CVE-2013-2251   可GetShell/获取物理路径/执行CMD命令

[+]3 S2-013  CVE-2013-1966   可GetShell/获取物理路径/执行CMD命令

[+]2 S2-009  CVE-2011-3923   可GetShell/获取物理路径/执行CMD命令

[+]1 S2-005  CVE-2010-1870   可GetShell/获取物理路径/执行CMD命令/列文件目录

===========================================================================================


解决办法:

将struts2的jar包更新到最新版,请根据自己所使用的版本进行升级

http://mirrors.hust.edu.cn/apache/struts/
 

另外最重要的一点,如果您是自主部署的java环境,请务必不要使用root或者管理员账号来运行java应用!!


日期:2014-10-21

打印 】