安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析

近日,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”可以看出,提交的指令被执行了。

安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析

排查方法

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

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

安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析1

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

安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析2

处置建议

1、版本升级

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

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

2、临时防护措施

  • 可通过设置所有标签中value=” “来缓解此漏洞。
  • 将apache.commons.collection.BeanMap添加至excludedClasses黑名单中。

3、产品解决方案

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

安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析3

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

安全新闻:【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析4

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
大佬不来一句? 抢沙发

请登录后发表评论