根据Apache官方发布安全通告,披露了其Struts2框架存在远程代码执行漏洞(CVE-2021-31805),攻击者可构造恶意请求触发漏洞,在目标服务器上实现远程代码执行。
一、漏洞详情
Struts2是一个基于MVC设计模式的Web应用框架,其本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
据官方描述,由于对 CVE-2020-17530 (S2-061) 的修复不完善,导致一些标签的属性仍然可以执行 OGNL 表达式,最终可导致远程执行任意代码。
漏洞影响范围:2.0.0 <= Apache Struts <= 2.5.29。
二、修复建议
目前官方已发布新版本(Apache Struts2.5.30)修复了此漏洞。请受影响的用户尽快升级至安全版本,升级更新参考指南:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30