Spring FrameworkのRFD 脆弱性-想定外のファイルダウンロードに要注意

セキュリティニュース

投稿日時: 更新日時:

Spring FrameworkのRFD 脆弱性-想定外のファイルダウンロードに要注意

2025年6月、Spring Frameworkに中程度のセキュリティ脆弱性(CVE-2025-41234)が報告されました。これは、ユーザーが指定したファイル名を含むHTTPヘッダに不備があると、意図しないファイルをダウンロードさせられる「Reflected File Download(RFD)」攻撃の引き金となる可能性があるというものです。

対象となるのは、Spring Frameworkバージョン6.0.5以降、6.1系および6.2系の一部バージョンで、CVSSスコアは6.5。比較的深刻な問題といえます。

RFD攻撃とは何か?

RFD攻撃とは、ユーザーがWebサイト上のリンクをクリックすることで、実行形式のファイルをダウンロード・実行してしまうように仕向ける攻撃手法です。一見すると正当なファイルのように見えるため、ユーザーが違和感を覚えずに開いてしまうリスクがあります。

今回のSpring Frameworkの脆弱性は、以下の条件がすべてそろうと発生します:

  • Springのorg.springframework.http.ContentDispositionクラスで”Content-Disposition”ヘッダを生成している
  • ファイル名をContentDisposition.Builder#filename(String, Charset)で指定し、かつ非ASCII文字が含まれている
  • ファイル名の値がユーザーの入力から直接取得されており、サニタイズされていない
  • レスポンスのコンテンツに、攻撃者が細工した悪意あるコマンドが含まれている

どのバージョンが影響を受けるのか?

影響を受けるのは以下のバージョンです

対象バージョン 修正済バージョン
6.2.0 ~ 6.2.7 6.2.8(OSS)
6.1.0 ~ 6.1.20 6.1.21(OSS)
6.0.5 ~ 6.0.28 6.0.29(商用)

なお、これより古い未サポートのバージョンは対象外とされています。

どうすればリスクを回避できる?

この問題に該当しない、または既に対処しているケースは以下の通りです:

  • “Content-Disposition”ヘッダ自体を使用していない
  • ヘッダの生成にContentDisposition.Builderを使用していない
  • filename(String)あるいはfilename(String, ASCII)でファイル名を指定している
  • ファイル名をユーザー入力から取得していない、または取得していてもサニタイズ済み
  • ダウンロードされるファイルの中身に、攻撃者が手を加えることができない

システム担当者へのアドバイス

もし上記の影響を受けるバージョンを使っている場合は、以下の対応が必要です:

  • Spring Framework 6.2.xを使用している場合は、6.2.8へアップグレード
  • 6.1.xを使用している場合は、6.1.21へアップグレード
  • 商用利用で6.0.xを使っている場合は、6.0.29へのアップグレードを

アップデートを行うことで、ユーザー入力をもとに生成されるファイル名に起因するRFD攻撃のリスクを排除することができます。