支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

Javaでアプリケーション開発をしている方は、JavaのアプリケーションフレームワークであるSpring Frameworkを導入されているかと思います。Spring Frameworkは2004年3月にバージョン1.0がリリースされて以来、2020年7月現在でもなお継続して開発が進められ、バージョンアップされているフレームワークです。そんなSpring Frameworkですが、過去には脆弱性が指摘されていますので、今お使いのバージョンば該当していないか今一度確認してみてください。この記事では脆弱性やバージョンの確認方法、また、サポート期限についてもお伝えしていきます。

Spring Frameworkの脆弱性

2018年4月ごろ、Spring Frameworkには複数の脆弱性があることが見つかりました。この脆弱性により悪用されると、アプリケーションサーバの実行権限で、リモートから任意の OSコマンドが実行される可能性があると報告されています。

当時の脆弱性を受けるバージョンは以下です。

  • Spring Framework 5.0 から 5.0.4
  • Spring Framework 4.3 から 4.3.15

上記より以前のバージョンも脆弱性の影響を受ける可能性があると報告されています。

さらに2020年の1月ごろにも複数の脆弱性が報告されています。「Spring MVC」「Spring WebFlux」の利用における脆弱性です。

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

  • Spring Framework 5.2.0 から 5.2.2
  • Spring Framework 5.1.0 から 5.1.12
  • Spring Framework 5.0.0 から 5.0.15

この問題を修正しアップデートされたバージョンがリリースされているので確認しておきましょう。

  • Spring Framework 5.2.3
  • Spring Framework 5.1.13
  • Spring Framework 5.0.16

2020年7月現在の最新バージョンは6月9日にリリースされたSpring Framework 5.2.7 です。できるだけ最新バージョンにアップデートしておきましょう。

Spring Frameworkのバージョン確認方法

さてここまでSpring Frameworkの脆弱性と最新バージョン情報をお伝えしましたが、Spring Frameworkのバージョンはどこで確認できるのかわからない方のためにその確認方法についてお伝えしていきます。ここではEclipseで確認していきます。また、いくつか確認方法は存在しますが、Spring FrameworkのバージョンとSpring Bootのバージョンが確認できる方法をご紹介します。

上記の画像を見てわかるでしょうか?まずEclipseを起動した状態でプロジェクト・エクスプローラー内のMaven 依存関係をクリックすると表示されます。ここに記載の「spring-xxxxx-[数字].RELEASE.jar」がSpring Frameworkのバージョンになります。ここでは「5.2.7」ということになります。また、「spring-boot-xxxxx-[数字].RELEASE.jar」と記載されているものがSpring Bootのバージョンになります。ここでは「2.3.1」が該当します。

また、pom.xmlで確認することも可能です。

「pom.xml」を表示し、下にあるタブの「依存関係階層(Dependency Hierarchy)」をクリックします。右側に表示されているのが現在使用しているものになります。見方は上で説明した方法と同じです。

現在使用しているバージョンが脆弱性の影響を受けるバージョンになっていないかどうか確認しておきましょう。また、この際にできれば最新のバージョンアップデートしておくと良いでしょう。

Spring Frameworkのサポート期限は?

Spring Frameworkのバージョンごとのサポート期限についてお伝えします。この情報は2020年7月現在のものとなります。常に最新情報を入手してください。

  • バージョン5.3.x
    • 2020年10月に一般提供開始予定。2024年まで長期サポートを提供予定。
  • バージョン5.2.x
    • 2021年12月末まで
  • バージョン5.1.x
    • 2020年12月末まで
  • バージョン5.0.x
    • EOLフェーズのため2020年12月末で終了
  • バージョン4.3.x
    • 2020年12月末で正式にEOL

バージョン4.3、5.0、5.1 は2020年12月31日でサポート終了となります。5.1に関しては延長の可能性もありますが、5.0、4.3についてはEOLのフェーズのため、このバージョンを利用されている場合は早急にバージョンアップすることをおすすめします。また、2020年10月にはバージョン5.3のリリースが予定されています。こちらの情報も常にチェックしておきましょう。

おわりに

Spring Frameworkは内部にSpring Bootなどのライブラリがあります。これらを利用している場合はSpring FrameworkだけではなくSpring Bootのバージョンも確認しておく必要があります。セキュリティ面で脆弱性が確認された場合にすぐに対応できるように常日頃、最新情報をチェックしておくと良いかもしれません。