【处置手册】Apache Struts 2 远程代码执行漏洞cve-2018-11776

北京时间8月22日,Struts官方公开了漏洞S2-057(CVE-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上部操作配置没有namespace或通配namespace时,可能构成 RCE攻击。第二,当使用没有 value和action集的url标签时,并且其上层操作配置没有或通配namespace时,也可能构成 RCE 攻击。

预警编号:NS-2018-0025-1

危害等级:高,此漏洞可导致远程代码执行,影响范围较广。

影响范围

受影响版本

  • 3 – 2.3.34
  • 5 – 2.5.16

 

不受影响版本

  • Struts 2.3.35
  • Struts 2.5.17

漏洞排查

版本检测

通过配置文件检测

此漏洞产生于低版本的Struts组件,当应用系统引入相关组件时,将存在被攻击者远程攻击的风险。建议由应用开发人员排查引入组件的版本是否处于受影响范围之内。

查看Maven配置文件pom.xml中关于组件的版本。如:

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-core</artifactId>

<version>2.5.13</version>

</dependency>

 

若红字所示版本在受影响范围内,则请用户尽快升级Struts2至最新版本,以保证长期有效的防护。

通过组件名检测

Linux系统下可使用以下命令查找当前使用的struts2-core包,通过查看其文件名,判断当前版本。

find / -name struts2-core-*.jar

若红框处版本号在受影响范围内,则请用户尽快升级至最新版本。

漏洞防护

官方升级

官方已在最新版本中修复了此漏洞,请用户尽快将Struts升级至官方修复版本,2.3.*的用户需升级至2.3.35;2.5.*的用户需升级至2.5.17。开发人员可通过配置Maven或Gradle的方式对应用升级并编译发布,也可手动下载最新Struts框架进行替换。

Maven配置

<!– https://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配置

// https://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>

参考链接

https://cwiki.apache.org/confluence/display/WW/S2-057

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。

绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

Spread the word. Share this post!

Meet The Author

Leave Comment