安全通告
漏洞名称 |
Apache Struts2远程代码执行漏洞 |
||
公开时间 |
2022-04-12 |
更新时间 |
2022-04-14 |
CVE编号 |
CVE-2021-31805 |
其他编号 |
QVD-2021-14649 |
威胁类型 |
远程代码执行 |
技术类型 |
OGNL表达式注入 |
厂商 |
Apache |
产品 |
Struts2 |
风险等级 |
|||
奇安信CERT风险评级 |
风险等级 |
||
高危 |
蓝色(一般事件) |
||
现时威胁状态 |
|||
POC状态 |
|
|
技术细节状态 |
已公开 |
未发现 |
未发现 |
已公开 |
漏洞描述 |
Apache Struts2 中存在远程代码执行漏洞,在某些标签中若后端通过 %{...} 形式对其属性进行赋值,则将对OGNL表达式进行二次解析,从而执行恶意代码,该漏洞是S2-061的绕过。 |
||
影响版本 |
2.0.0 <= Apache Struts2 <= 2.5.29
|
||
不受影响版本 |
Apache Struts2 > 2.5.29
|
||
其他受影响组件 |
无 |
ApacheStruts 2是一个用于开发JavaEE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了JavaServlet API,鼓励开发者采用MVC架构。
近日,奇安信CERT监测到Apache官方发布安全更新,其中修复了Apache Struts2远程代码执行漏洞(CVE-2021-31805),在某些标签中若后端通过 %{...} 形式对其属性进行赋值,则将对OGNL表达式进行二次解析,从而执行恶意代码,且该漏洞是S2-061的绕过。此漏洞POC、技术细节已公开,经过奇安信CERT研判,此漏洞POC有效。鉴于此漏洞影响范围极大,建议客户尽快做好自查,及时更新至最新版本或采取缓解措施。
奇安信CERT已成功复现Apache Struts2 远程代码执行漏洞(CVE-2021-31805),复现截图如下:
漏洞名称 |
Apache Struts2远程代码执行漏洞 |
|||
CVE编号 |
CVE-2021-31805 |
其他编号 |
QVD-2021-14649 |
|
CVSS 3.1评级 |
高危 |
CVSS 3.1分数 |
9.8 |
|
CVSS向量 |
访问途径(AV) |
攻击复杂度(AC) |
||
网络 |
低 |
|||
用户认证(Au) |
用户交互 |
|||
不需要 |
不需要 |
|||
影响范围 |
机密性影响(C) |
|||
不改变 |
高 |
|||
完整性影响(I) |
可用性影响(A) |
|||
高 |
高 |
|||
危害描述 |
Apache Struts2 中存在远程代码执行漏洞,在某些标签中若后端通过 %{...} 形式对其属性进行赋值,则将对OGNL表达式进行二次解析,从而执行恶意代码,该漏洞是S2-061的绕过。 |
一、版本升级
目前官方已有可更新版本,用户可升级至 2.5.30 版本:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30
二、漏洞缓解措施
1、可通过设置所有标签中 value="" 来缓解此漏洞;
2、将org.apache.commons.collection.BeanMap 添加至 excludedClasses 黑名单中。
[1]https://cwiki.apache.org/confluence/display/WW/S2-062
[2]http://www.openwall.com/lists/oss-security/2022/04/12/6
推荐阅读
文章来源:奇安信CERT
原文始发于微信公众号(安全内参):Apache Struts2远程代码执行漏洞 (CVE-2021-31805) 安全通告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论