近日,阿帕奇公司发布安全公告称 Struts 2 开源 Web 应用程序框架存在严重安全漏洞,可能导致远程代码执行。
该漏洞被追踪为 CVE-2023-50164,其根源在于文件上传逻辑,该逻辑可实现未经授权的路径遍历,在这种情况下极易被用来上传恶意文件并执行任意代码。
Struts 是一个 Java 框架,主要使用模型-视图-控制器(MVC)架构来构建面向企业的网络应用程序。
Source Incite 的 Steven Seeley 发现并报告了这一漏洞,此漏洞可能影响以下几个软件版本:
- Struts 2.3.37(EOL)
- Struts 2.5.0 - Struts 2.5.32
- Struts 6.0.0 - Struts 6.3.0
其中,2.5.33 和 6.3.0.2 或更高版本中提供了该漏洞的补丁。
阿帕奇公司表示非常感谢 Source Incite 的 Steven Seeley 报告了该漏洞。此外,研究人员强烈建议所有 Struts 2 用户立即安装补丁,并更新到最新的网络应用程序框架版本。并表示这是一个即插即用的替换程序,升级十分便捷。
风险和潜在影响
由于此漏洞允许任意远程代码执行,一旦被成功利用,可能对使用 Struts 2 构建的 Web 应用程序的安全性构成严重风险。
攻击者可能会破坏受影响的服务器和网络、执行拒绝服务攻击、窃取敏感数据或使用受感染的系统进行恶意软件分发和其他网络攻击。
虽然虽然目前还没有出现黑客利用此漏洞攻击的事件,但不能掉以轻心。该软件之前的一个安全漏洞(CVE-2017-5638,CVSS 得分:10.0)曾在 2017 年被黑客利用,并入侵了美国消费者信用报告机构 Equifax。