0x01

漏洞状态

漏洞细节

漏洞POC

漏洞EXP

在野利用

公开

未知

未知

0x02

漏洞描述

Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

2022年4月12日,Apache发布安全公告,修复了一个Apache Struts2 中的远程代码执行漏洞。漏洞编号:CVE-2021-31805,漏洞威胁等级:高危,漏洞评分:8.5。

Apache Struts2 远程代码执行漏洞

Apache Struts2 远程代码执行漏洞

漏洞编号

CVE-2021-31805

漏洞类型

远程代码执行

漏洞等级

高危(8.5)

公开状态

公开

在野利用

未知

漏洞描述

由于对CVE-2020-17530的修复不完整,如果开发人员使用 %{...} 语法应用强制OGNL解析,标签的某些属性仍然可被二次解析。当对标签属性中未经验证的原始用户输入进行解析时可能会导致远程代码执行。

0x03

漏洞等级

高危(8.5)

0x04

影响版本

Apache Struts2 2.0.0 - 2.5.29

0x05

漏洞复现

2022年4月14日,360漏洞云安全专家已第一时间复现上述漏洞,演示如下:

CVE-2021-31805

完整POC代码已在360漏洞云情报平台(https://loudongyun.360.cn/)发布,360漏洞云情报平台用户可通过平台下载进行安全自检。

0x06

修复建议

临时修复建议:避免对不受信任的用户输入使用强制 OGNL 解析。

官方修复建议:厂商已发布补丁修复漏洞,用户请尽快更新至安全版本:Struts 2.5.30或更高版本。补丁链接如下:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30

与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。