vlambda博客
学习文章列表

struts2 CVE-2021-31805 Apache Struts中的RCE错误终于被修补

    Apache Struts是一个开源的Web应用程序框架,用于开发Java EE Web应用程序。Apache软件基金会敦促组织解决一个漏洞,跟踪为CVE-2021-31805,影响Struts版本范围为2.0.0到2.5.29。攻击者可以触发此漏洞来控制受影响的系统。

    根据Apache发布的公告,该组织解决的问题是Apache Struts中的一个关键缺陷,该缺陷与之前的OGNL注入漏洞(CVE-2020-17530)有关,该漏洞未得到正确修复。远程执行代码漏洞(跟踪为 CVE-2020-17530)在根据标记属性中的原始用户输入进行评估时,存在于强制 OGNL 评估中。

    强制 OGNL 评估(在标记属性中未经验证的原始用户输入上进行评估)可能会导致远程执行代码 - 与 S2-061 相同。

谁应该阅读这篇文章

所有 Struts 2 开发人员和用户

漏洞的影响

可能的远程执行代码漏洞

最大安全等级

重要

建议

升级到 2.5.30 或更高版本

受影响的软件

支柱 2.0.0 - 支柱 2.5.29

CVE 标识符

CVE-2021-31805

问题

    CVE-2020-17530 (S2-061) 发布的修复程序不完整。如果开发人员使用语法应用强制 OGNL 评估,则某些标记的属性仍可以执行双重评估。对不受信任的用户输入使用强制 OGNL 评估可能会导致远程执行代码和安全降级。%{...} 

向后兼容性

升级到 Struts 2.5.30 时不会出现问题

解决方法

请勿根据不可信/未经验证的用户输入在标签属性中使用强制 OGNL 评估,请遵循安全指南中的建议。