Tomcatの脆弱性対応しました (CVE-2017-12617)
当社はメインの技術スタックがJavaのため、アプリケーションサーバーにはTomcatを使用しています。
先日、Tomcatのセキュリティアップデートがリリースされていたので当社環境もアップデートしました。
脆弱性の内容
今回の脆弱性はHTTPのPUTリクエストが許可されている場合、JSPファイルをアップロードしてコードの実行ができてしまうというものです。 (CVE-2017-12617)
影響を受けるTomcatのバージョンは次のようになっています。
- Tomcat 9
9.0.0.M1 〜 9.0.0 - Tomcat 8.5
8.5.0 〜 8.5.22 - Tomcat 8
8.0.0.RC1 〜 8.0.46 - Tomcat 7
7.0.0 〜 7.0.81
脆弱性の対応方法
当社環境ではTomcat7を使用している箇所とembededのtomcat8.5を使用している箇所があるため次のように対応しました。
tomcat7
Amazon Linuxを使用しているため、yumリポジトリ側でパッケージが更新されていました。
$ sudo yum update tomcat7
===================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===================================================================================================================
更新します:
tomcat7 noarch 7.0.82-1.30.amzn1 amzn-updates 96 k
依存性関連での更新をします:
tomcat7-el-2.2-api noarch 7.0.82-1.30.amzn1 amzn-updates 82 k
tomcat7-jsp-2.2-api noarch 7.0.82-1.30.amzn1 amzn-updates 94 k
tomcat7-lib noarch 7.0.82-1.30.amzn1 amzn-updates 3.9 M
tomcat7-servlet-3.0-api noarch 7.0.82-1.30.amzn1 amzn-updates 213 k
トランザクションの要約
===================================================================================================================
更新 1 パッケージ (+4 個の依存関係のパッケージ)
総ダウンロード容量: 4.4 M
tomcat8
Spring Bootを使用してアプリケーション内にTomcat8を組み込んでいるため、Spring Bootのバージョンを1.5.8へアップデートすることで対応しました。
終わりに
ミドルウェアのバージョンを追いかけていくのはなかなか骨が折れますが、放置しておくとクリティカルな脆弱性が出た時に容易にバージョンアップできなくなってしまうのでマメにバージョンアップをかけていきたいと思います。
いい加減Tomcat7は8へ移行していきたい・・・