Struts 2 远程代码执行漏洞(CVE-2018-11776) 威胁预警通告
2018-08-23
综述
北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(CVE-2018-11776)。该漏洞在两种情况下存在,第一,在xml配置中未设置namespace值,且上层动作配置(upper action(s) configurations)中未设置或用通配符namespace值。第二,使用未设置value和action值的url标签,且上层动作配置(upper action(s) configurations)中未设置或用通配符namespace值。
详细信息可参考:http://cwiki.apache.org/confluence/display/WW/S2-057
受影响的版本
l Struts version 2.3 - 2.3.34
l Struts version 2.5 - 2.5.16
不受影响的版本
l Struts version 2.3.35
l Struts version 2.5.17
解决方案
官方已在最新版本中修复了此漏洞,请用户尽快将struts升级至官方修复版本,2.3.*的用户需升级至2.3.35;2.5.*的用户需升级至2.5.17。开发人员可通过配置Maven或Gradle的方式对应用升级并编译发布,也可手动下载最新Struts框架进行替换。
Maven配置
<!-- http://mvnrepository.com/artifact/org.apache.struts/struts2-core --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.17</version> </dependency> |
Gradle配置
// http://mvnrepository.com/artifact/org.apache.struts/struts2-core compile group: 'org.apache.struts' name: 'struts2-core' version:'2.5.17' |
官方下载链接:
Struts2.3.35 |
http://mirrors.hust.edu.cn/apache/struts/2.3.35/struts-2.3.35-all.zip |
Struts2.5.17 |
http://mirrors.hust.edu.cn/apache/struts/2.5.17/struts-2.5.17-all.zip |
临时解决建议:
排查所有Struts 2的配置文件,如struts.xml,为没有定义namespace命名空间的package节点添加命名空间配置。
<package name="user" namespace="/user" extends="struts-default">
<action name="login">
</action>
</package>
漏洞验证最新进展
Poc构造成功,成功执行代码弹出计算器。
声明
本安全公告仅用来描述可能存在的安全问题,bbin宝盈集团科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,bbin宝盈集团科技以及安全公告作者不为此承担任何责任。bbin宝盈集团科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经bbin宝盈集团科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
关于bbin宝盈集团科技
北京神州bbin宝盈集团信息安全科技股份有限公司(简称bbin宝盈集团科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,bbin宝盈集团科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州bbin宝盈集团信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:bbin宝盈集团科技,股票代码:300369。