Apache Struts "文件泄漏"漏洞引发磁盘耗尽危机

Apache Struts框架存在一个严重的拒绝服务漏洞(CVE-2025-64775),该漏洞在处理多部分请求时未能正确清理临时文件,导致文件泄漏和磁盘空间耗尽,最终使系统瘫痪。

CVE-2025-64775: Apache Struts “文件泄漏"漏洞威胁磁盘耗尽

Apache软件基金会发布了一项重要安全公告,涉及一个影响其流行的Struts框架几乎所有版本的重大拒绝服务漏洞。该漏洞被标识为CVE-2025-64775(S2-068),允许攻击者通过利用服务器处理文件上传的方式,缓慢地耗尽服务器资源,最终填满磁盘并导致应用程序崩溃。

此漏洞存在于Apache Struts用于处理"多部分请求处理"的核心机制中——这是Web应用程序处理文件上传和复杂数据表单的标准方法。

漏洞原理

在正常情况下,服务器处理多部分请求时,会创建临时文件来处理传入的数据流。处理完成后,这些临时文件应被删除以释放空间。然而,CVE-2025-64775造成了"文件泄漏"场景。

由于逻辑中的一个缺陷,该框架未能正确清理这些临时文件。攻击者可以通过发送大量特定的多部分请求来利用此漏洞。虽然每个请求可能只留下一个小的临时文件,但累积效应是毁灭性的。

随着时间的推移,这些文件不断累积,直到耗尽所有可用的磁盘空间。一旦磁盘已满,操作系统和应用程序将无法再写入日志、保存会话或处理新数据,从而导致系统完全瘫痪(拒绝服务)。

受影响版本

受影响的版本包括:

  • Apache Struts 2: 从 2.0.0 到 6.7.0 的所有版本
  • Apache Struts 7: 从 7.0.0 到 7.0.3 的所有版本

此漏洞的严重性被评定为"重要”。虽然它不允许远程代码执行(Struts通常的噩梦场景),但拒绝服务攻击对业务连续性同样具有破坏性,攻击者只需相对较低的成本即可使关键服务离线。

解决方案

系统管理员和开发人员应立即升级其依赖项以修补此漏洞。Apache Struts团队已经发布了修复版本,能够正确处理多部分请求期间临时文件的生命周期。

  • 使用 6.x 分支的用户应升级到 Struts 6.8.0。
  • 使用 7.x 分支的用户应升级到 Struts 7.1.1。

未能修补将使服务器容易受到一种简单但高效的资源耗尽攻击。

相关威胁

该漏洞是Struts框架历史上系列安全问题中的最新一个。拒绝服务攻击虽然不同于远程代码执行,但对于依赖Web服务持续可用性的组织而言,其破坏性同样严重。攻击者可以利用此漏洞,以极低的成本和资源,使目标服务器长时间不可用,从而影响业务运营、造成经济损失并损害声誉。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计