CVE-2025-41234: 通过来自请求的“Content-Disposition”头进行的RFD攻击

中等 | 2025年6月12日 | CVE-2025-41234

描述

在Spring Framework 6.0.x(截至6.0.5)、6.1.x和6.2.x版本中,当应用程序设置带有非ASCII字符集的“Content-Disposition”头,并且文件名属性源自用户提供输入时,应用程序易受反射文件下载(RFD)攻击。

具体而言,当所有以下条件都满足时,应用程序是脆弱的:

  • 头信息使用org.springframework.http.ContentDisposition准备。
  • 文件名通过ContentDisposition.Builder#filename(String, Charset)设置。
  • 文件名的值源自用户提供输入。
  • 应用程序未对用户提供输入进行净化。
  • 下载的响应内容被攻击者注入恶意命令(详细信息请参阅 RFD 论文参考)。

在以下任何一种情况为真时,应用程序不易受攻击:

  • 应用程序未设置“Content-Disposition”响应标头。
  • 头信息未通过org.springframework.http.ContentDisposition准备。
  • 文件名通过以下方式之一设置
    • ContentDisposition.Builder#filename(String),或
    • ContentDisposition.Builder#filename(String, ASCII)
  • 文件名并非源自用户提供输入。
  • 文件名源自用户提供输入但已由应用程序净化。
  • 攻击者无法在响应的下载内容中注入恶意内容。

受影响的 Spring 产品和版本

Spring Framework

  • 6.2.0 - 6.2.7
  • 6.1.0 - 6.1.20
  • 6.0.5 - 6.0.28
  • 不受支持的旧版本不受影响

缓解措施

受影响版本的用户应升级到相应的修复版本。

受影响版本 修复版本 可用性
6.2.x 6.2.8 OSS
6.1.x 6.1.21 OSS
6.0.x 6.0.29 商业

无需进一步的缓解措施。

致谢

此问题由Dynatrace安全团队的Jakob Linskeseder负责任地报告。

参考资料

历史

  • 2025-06-12: 初步漏洞报告发布。

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有