Skip to main content

📋 漏洞概述

Spring官方最新发布了一个重要安全漏洞警告,影响Spring Framework多个版本。该漏洞可能导致反射文件下载(RFD)攻击,攻击者可以通过精心构造的请求诱使用户下载恶意文件。

🔍 漏洞详情

漏洞原理

在Spring Framework中,当应用程序满足以下所有条件时,会存在RFD攻击漏洞:
  1. 🎯 使用 org.springframework.http.ContentDisposition 设置 Content-Disposition 响应头
  2. 📝 通过 ContentDisposition.Builder#filename(String, Charset) 设置文件名
  3. 🔄 文件名值来源于用户输入
  4. ⚠️ 应用程序未对用户输入进行清理/校验
  5. 💥 攻击者能够在响应内容中注入恶意命令

不受影响的情况

如果满足以下任一条件,则应用程序不受此漏洞影响:
  • ✅ 应用程序不设置 Content-Disposition 响应头
  • ✅ 响应头不是通过 org.springframework.http.ContentDisposition 设置
  • ✅ 文件名通过以下方式设置:
    • ContentDisposition.Builder#filename(String)
    • ContentDisposition.Builder#filename(String, ASCII)
  • ✅ 文件名不来源于用户输入
  • ✅ 应用程序对用户输入进行了适当的清理
  • ✅ 攻击者无法在响应内容中注入恶意内容

🎯 影响范围

受影响的Spring Framework版本

⚠️ 注意: 更早的不受支持版本不受此漏洞影响

对应的Spring Boot版本

根据Spring Boot与Spring Framework的版本对应关系:

🛠️ 修复方案

⚠️ 重要说明: 由于Spring Boot 3.4.7和3.3.13版本尚未发布,建议先通过引入spring-framework-bom的方式进行兼容性升级,确保Spring Framework版本得到及时修复。