首页 > 关于安博通 > 新闻中心
【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析
2022-04-22
2277

近日,Apache官方发布安全通告,披露了其Struts2框架存在远程代码执行漏洞,漏洞编号CVE-2021-31805 。


该漏洞的产生原因是一个更早漏洞CVE-2020-17530的修复不完全。CVE-2020-17530漏洞是由于Struts2会对某些标签属性(比如ID)的属性值进行二次表达式解析,因此当这些标签属性中使用了%{x}且x值用户可控时,用户再传入一个%{payload},就会造成OGNL表达式执行。


在CVE-2021-31805漏洞修复前,仍然有部分标签属性使得攻击者可以恶意构造OGNL表达式执行,导致远程代码执行。


危害等级


高危


影响范围


2.0.0≤Apache Struts≤2.5.29


漏洞复现


目标机器10.203.200.4使用的是Apache Struts 2.5.25版本,可以在提交的报文body部分写入指令pwd,从返回结果id=”/usr/src”可以看出,提交的指令被执行了。


1.jpg


排查方法


可通过排查struts-core-版本号.jar来判断是否受此漏洞影响:


若当前版本在受影响范围内,则可能存在安全风险。


2.jpg


如果没有版本号,可以在jar文件的META-INF/MANIFEST.MF中搜索Bundle-Version,若2.0.0≤Apache Struts≤2.5.29,则存在该漏洞。


3.jpg


处置建议


1、版本升级

目前官方已发布最新版本,建议受影响用户及时更新升级,下载链接:

https://struts.apache.org/download.cgi#struts-ga


2、临时防护措施

可通过设置所有标签中value=" "来缓解此漏洞。

将org.apache.commons.collection.BeanMap添加至excludedClasses黑名单中。

 

3、产品解决方案

安博通深度安全网关已支持该漏洞防护,需要将规则包升级到20220419及以上版本。升级位置为:系统维护→系统升级→自动升级,点击立即升级或下载离线特征库手动升级。


4.jpg


防护后效果:规则升级后,在策略中选用包含该特征的IPS模板,并配置记录日志和阻断。当攻击发生时,就会被安博通深度安全网关拦截并记录日志。


5.jpg

联系我们
请填写相关信息×

您好!为了提供更优质的服务,请先填写以下信息,帮助我们更快更精准地为您解答。

  • 您的称呼*

  • 电话*

  • 单位*

  • 意向产品

  • 验证码*

  • 提交
×

提交成功

感谢您的反馈!我们将在3个工作日内回复您的需求,请留意查收。