0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Spring Frameworkのサポート終了日(EOL)に関するまとめ

0
Posted at

この記事は、Spring Frameworkのすべてのリリースタイムラインと、5.3・6.1系を本番環境で稼働させ続けているエンタープライズJavaチームにとってサポート終了が実際に何を意味するかを網羅したリファレンスです。


Spring Frameworkは、モダンなJavaエンタープライズスタックの基盤です。Spring Boot、Spring Security、Spring Batch、そして過去15年間に出荷されたほぼすべてのJavaバックエンドの下に位置しています。

多くのプロジェクトで推移的依存関係(transitive dependency)となっているため、チームはサポート終了済みのSpring Frameworkバージョンを知らず知らずのうちに使い続けていることがあります。Spring Bootのリリーストレインによって固定されたバージョンを引き継いでいるためです。

これは今まさに重要な問題です。

2026年6月時点で、Spring Framework 6.1.x5.3.x系全体はサポートが終了しており、6.2.xも2026年6月30日でサポート終了となります。

それ以降、コミュニティサポートが継続されるのは7.0.xのみとなります。5.x系・6.x系のいずれかをお使いであれば、Maven Centralからセキュリティパッチがまったく提供されないか、数週間後にその状況に陥るかのどちらかです。

この記事は、Spring Frameworkの全メジャーバージョン・リリース日・サポートウィンドウ・未サポートブランチに対して開示されたCVE、そしてEOL後もセキュアかつコンプライアントに運用するための具体的な選択肢を網羅した決定版のリファレンスです。

Spring Framework と Spring Boot:この違いが重要な理由

この2つは異なる製品であり、ライフサイクルも異なります。両者を混同することが、Javaチームにおいて最も多いEOL混乱の原因です。

Spring Framework はコアです。
依存性注入、アプリケーションコンテキスト、トランザクション管理、Spring MVC/WebFlux、データアクセス、SpEL、AOPを担います。Maven Central上の org.springframework:spring-core アーティファクトファミリーです。

Spring Boot はSpring Frameworkの上に構築されたオピニオネートなレイヤーです。
自動設定、スターター依存関係、組み込みサーバー、プロダクション用ツールを追加します。Maven Central上の org.springframework.boot アーティファクトファミリーです。

実際的な意味として、各Spring Bootリリーストレインは特定のSpring Frameworkバージョンを固定します。たとえばSpring Boot 3.5はSpring Framework 6.2上で動作し、Spring Boot 4.0はSpring Framework 7.0上で動作します。

Bootのバージョンをアップグレードしたり据え置いたりする際、そのFrameworkバージョンのサポートウィンドウも継承していることになります。「サポート中のSpring Bootリリースを使っている」と思っているチームが、パッチの整合性によってはEOLに近い、あるいはすでにEOL済みのSpring Frameworkブランチを抱えていることも十分あり得ます。

このことから2つの結果が生じます。

第一に、Spring Framework本体にCVE(Webモジュールのパストラバーサル、spring-webのDoS、SpELの問題など)が発生した場合、Bootのバージョンがどれだけ新しく見えても、対応するFrameworkバージョンを使っているすべてのSpring Bootアプリが影響を受けます。

第二に、EOLリスクは両方のタイムラインによって左右されます。このページではFrameworkのライフサイクルをカバーしています。Spring Bootのリリーストレイン・EOL日・最新パッチバージョンについては、コンパニオンリファレンス「Spring BootのバージョンとEOL日、最新リリース」をご参照ください。

次にEOLを迎えるバージョン:注目すべき情報

Spring Framework 6.2 サポート終了:2026年6月30日

Spring Framework 6.2は、まだパッチを受け取っている唯一の6.x機能ブランチですが、それも2026年6月30日で終了します。その日以降、Spring Framework 6世代全体がサポートから外れ、Maven Centralで無償パッチを受け取れるのは7.0のみとなります。

これは、多くのエンタープライズチームが今すぐ計画すべきマイグレーションです。Spring Framework 6.2は、現在本番環境で最も広く展開されているBootトレインの一つであるSpring Boot 3.5の下で動いているバージョンです。6.2がEOLになると、チームがBoot 4.x(Framework 7ベース)に移行するか、延長サポートを手配しない限り、すべてのSpring Boot 3.5アプリケーションがその影響を受けます。

Spring Framework 6.1:すでにEOL(2025年6月30日終了)

Spring Framework 6.1は2025年6月30日にサポートが終了しました。最終リリースは6.1.21(2025年6月12日)です。6.1系の任意のパッチレベルを使用しているアプリケーションは、無償のセキュリティアップデートを受け取れなくなっており、このブランチに対して新たに開示されたCVEはMaven Centralで無償修正が提供されません。

これを具体化するCVEがあります。CVE-2025-41242(非準拠Servletコンテナ上でのパストラバーサル)は、6.1のEOLの2025年8月14日に開示されました。修正はサポート中の6.2.10リリースに含まれましたが、6.1向けの無償パッチはありません。6.2/7.0へのアップグレードか別の方法での対処のみが選択肢です(CVSSスコアリングはソースによって異なり、NVDでは5.9中程度、Snykでは8.2高と評価されています。攻撃には非準拠のServletコンテナが必要なため、見積もりが異なります)。

Spring Framework 5.3:2024年8月31日にEOL、それでも広く稼働中

Spring Framework 5.3は最後の5.x機能ブランチであり、Springの歴史の中でも最も長くサポートされたブランチの一つです。サポートは2024年8月31日に終了し、5.3.39が最後の無償リリースです。

それにもかかわらず、5.3は今も広く本番環境に展開されています。理由は一つ:移行にJava 17へのアップグレードが必要だからです。Spring Framework 5.3はJava 8〜21をサポートしていますが、6.x・7.xはすべてJava 17を最低要件としています。Java 8または11を使用しているチームは、JDKの移行も同時に行わない限り、サポート中のFrameworkバージョンに移行できません。だからこそ多くの本番システムがEOLの5.3に固定されているのです。

その固定は今や負債になっています。機能的WebフレームワークにおけるCVE-2024-38816 / CVE-2024-38819のパストラバーサルペア(WebMvc.fnおよびWebFlux.fn、ともにCWE-22、CVSS 7.5)は、5.3のサポートウィンドウが閉じる直前に無償修正が提供された最後の問題の一つでした。2024年8月31日以降に開示されたものは、5.3向けの無償パッチが存在しません。

Spring Framework 7.0:現行世代

Spring Framework 7.0は2025年11月30日にリリースされ、2027年6月30日までサポートが継続される現行の本番ラインです。最新リリースは7.0.8(2026年6月8日)です。Jakarta EE 11ベースライン(Servlet 6.1、JPA 3.2)に移行し、EE 12の早期サポートも含み、Java 17を最低要件とし、Java 25までをサポートします。次の機能ブランチ7.1.xは2026年11月に予定されています。新規プロジェクトおよび6.x世代から移行できるチームにとって、7.0が推奨ターゲットです。

最近のSpring Frameworkバージョンにおける注目のCVE

これらの脆弱性はコアのSpring Framework(Spring Bootの自動設定や独立製品としてのSpring Securityではない)に影響します。それぞれのCVEは、影響範囲と修正の詳細を含むHeroDevsの脆弱性ディレクトリエントリにリンクされています。

押さえておくべきパターンとして、これらの問題の多くは開示時点でサポート中のすべての世代に及びますが、無償修正はサポート中のブランチにのみ提供されます。5.3と6.1については、新たなCVEが発生してもMaven Centralでのパッチは存在しません。

Spring Frameworkのサポート終了後に起こること

Spring Frameworkのブランチがサポート終了を迎えると、3つのことが変わります。これほど深くJavaエコシステムに組み込まれたフレームワークにとって、いずれも理論上の話ではありません。

セキュリティパッチがMaven Centralに届かなくなります。

そのブランチに対する新たなCVEは無償ラインでパッチが当たりません。パブリックリポジトリからプルするビルドは何も受け取れません。攻撃対象領域は開示のたびに拡大し、ほとんどのスキャナーは既知のCVEのみをフラグします。パッチが当たっていない脆弱性の静かな蓄積は検知されません。

推移的な露出が複合的に積み重なります。

Spring FrameworkはSpring Security、Spring Batch、Spring Integration、そしてSpring Bootのスターターの基盤となっているため、EOLのFrameworkバージョンはその依存関係の近傍全体を引きずります。spring-webのCVEを回避するためにスターターだけをアップグレードすることはできません。修正はFrameworkブランチ自体から来なければならないのです。

コンプライアンス監査でフラグが立ちます。

SOC 2、PCI DSS、HIPAA、FedRAMP、EUサイバーレジリエンス法は、保守されパッチが当たったソフトウェアをすべて要求します。spring-coreのSBOMラインにEOLのSpring Frameworkバージョンがあれば、それは監査上の指摘事項となります。QualysやOWASP Dependency-Checkツールは、特定のCVEが現在公開されているかどうかに関わらず、EOL/廃止ソフトウェアとしてこれを検出します。

マイグレーションは一バージョンのホップで済むことはほとんどありません。5.3から6.xへの移行は、javaxからjakartaへの名前空間の変更と、Java 8/11からJava 17への変更という2つの境界をまたぎ、実際のアプリケーションではほぼすべての依存関係に影響します。

これが多くのチームがEOLバージョンに留まり続ける理由であり、「ただアップグレードすればいい」というアドバイスが聞こえるほど安易ではない理由です。

EOL Spring Frameworkバージョンの選択肢

サポートが切れたFrameworkブランチに対して、正直に言って3つの道があります。それぞれが適切な状況下では正しい選択です。

1. サポート中の世代へアップグレードする。

長期的には、ほとんどのチームにとって正しい目的地です。Java 17以上に移行できるのであれば、Spring Framework 7.0(Spring Boot 4.x経由)をターゲットにしてください。

コストは現実のものです。javaxからjakartaへのマイグレーション、JDKのアップグレード、依存関係のカスケードによって、これはパッチではなくプロジェクトとなります。特にWebレイヤーやリフレクションを多用するライブラリ、javax依存のライブラリ周辺のテストに時間を確保してください。

2. Springから完全に移行する。

少数のチームはEOLイベントをプラットフォーム移行(QuarkusやMicronaut、あるいはJVM外のスタック)の正当化に使います。

これは最もコストが高くリスクの高い選択であり、EOL単独で正当化されることはほとんどありませんが、すでに進行中の広範なアーキテクチャ再設計に合致する場合はあります。

3. 緊急マイグレーションなしにセキュアを保つために延長サポートを採用する。

HeroDevsのNever-Ending Support (NES) for Springは、EOLとなったSpring Frameworkブランチに対して、プライベートレジストリを通じてコード変更不要のセキュアなドロップイン代替品を提供します。

NESはSpring Framework 4.3、5.3、6.1、6.2(および対応するSpring Bootトレイン:1.5、2.5、2.7、3.2、3.3、3.4、3.5)をカバーします。モデルはシンプルです。HeroDevsはオープンソースサポートが終了した日からパッチ適用を引き継ぎ、ギャップなく、コンプライアンスSLAで監査対応を維持します。

これはCVEの開示や監査の指摘によって強制的なマイグレーションを迫られるのではなく、自分たちのマイグレーションスケジュールでセキュリティとコンプライアンスを継続する必要がある場合に適した選択です。

これらの選択肢は相互排他的ではありません。一般的なパターンは、EOLサービスをNESの下に置いて出血を止め、監査をクリアし、その後スキャナーが指示するスケジュールではなく、チームがコントロールするスケジュールでサポート中の世代へ意図的に移行することです。


クイックリファレンス:私のSpring Frameworkバージョンはサポートされているか?

詳細は、以下の原文記事をご確認ください。

よくある質問

Spring Frameworkの最新バージョンは?

2026年6月時点で、最新のSpring Frameworkリリースは2026年6月8日出荷の7.0.8です。Spring Framework 7.0は現在の本番世代であり、2027年6月30日までサポートされます。

Spring Framework 6はいつサポート終了になりますか?

Spring Framework 6世代のほとんどはすでにEOLです。Spring Framework 6.0は2024年6月30日、6.1は2025年6月30日にサポートが終了しました。最後の6.xブランチである6.2は2026年6月30日にサポート終了となります。その日以降、いかなる6.xバージョンもMaven Centralで無償パッチを受け取れません。

Spring Framework 5はまだサポートされていますか?

いいえ。Spring Framework 5.x系全体がサポート終了済みです。最終ブランチの5.3は2024年8月31日にサポートが終了しました。6.xへの移行にJava 17が必要なため5.3は広く展開され続けていますが、無償のセキュリティパッチはもう提供されません。HeroDevs NESはドロップインの代替として5.3をカバーしています。

Spring FrameworkにLTSリリースはありますか?

オープンソースの意味ではありません。Springは無償サポートウィンドウに公式の「LTS」ラベルを付けていません。各メジャー世代はMaven Central上で数年間のサポートウィンドウを受け取り、その後そのブランチへの無償パッチが停止します。EOLブランチを移行せずにパッチ適用し続けるには、HeroDevs NESなどの延長サポートを活用します。

使っているSpring Bootバージョンがサポート中であれば、Spring Frameworkもサポート中ですか?

必ずしもそうではありません。Spring BootとSpring Frameworkは別々のライフサイクルを持ち、各BootリリーストレインはSpring Frameworkの特定バージョンを固定します。サポート中のBootバージョンは一般的にサポート中のFrameworkバージョンを固定しますが、2つのEOL日は異なり、コアSpring FrameworkのCVEはBootバージョンがどれだけ新しく見えても、アプリに影響します。両方を確認してください。BootのタイムラインについてはSpring Boot EOLリファレンスをご参照ください。

今すぐすべきこと

Spring FrameworkのEOLは通常静かに訪れます。次のCVEが出て初めてスキャナーが赤くなるまでは、Maven Centralへの無償パッチの供給が止まっても、アプリケーションは動き続け、スキャナーはグリーンを表示し続けます。6.2が2026年6月30日でEOLを迎え、5.3と6.1はすでに終了している今、ほとんどのエンタープライズJavaチームは少なくとも1つのサポートされていないSpringブランチを抱えています。多くの場合、Spring Boot経由で推移的に継承しているものです。

上記のタイムラインと照らし合わせて spring-core のバージョンを監査してください。5.3、6.0、または6.1をお使いであれば、今日すでにサポートが終わっています。6.2であれば数週間しかありません。次に意図的に選択してください。自分たちがコントロールするスケジュールで7.0へアップグレードするか、CVEの開示や監査の指摘が緊急マイグレーションを強制する前に、EOLブランチを延長サポートの下に置くかです。

組織がサポート終了済みのSpring Frameworkを実行している場合は、HeroDevs Never-Ending Support for Springでドロップイン形式のパッチ済みリリースを確認するか、HeroDevsに連絡して確認いただければ幸いです。 


元記事:https://www.herodevs.com/blog-posts/what-you-need-to-know-spring-frameworks-end-of-life-dates

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?