■ はじめに
https://blogs.yahoo.co.jp/dk521123/37059239.htmlで、Tomcat 脆弱性「CVE-2017-12617」(「CVE-2017-12615」「CVE-2017-12616」も同じ原因)に触れた。 その脆弱性と、それに関わるTomcat の readonlyパラメータについて、調べてみた
■ Tomcat 脆弱性「CVE-2017-12617」
http://jvn.jp/vu/JVNVU99259676/ (CVE-2017-12615, CVE-2017-12616, CVE-2017-12617)http://jvn.jp/vu/JVNVU99259676/index.html (CVE-2017-12615, CVE-2017-12617)
上記に関するニュース
http://www.security-next.com/086349
http://internet.watch.impress.co.jp/docs/news/1082834.html
https://oss.sios.com/security/tomcat-security-vulnerabiltiy-20170920
http://gihyo.jp/admin/serial/01/infrasec/0038
影響範囲
* readonlyパラメータが「false」に設定され、HTTP PUTメソッドが有効になっている場合
起こりうる影響
* 特定の条件下で JSP ファイルをアップロードされる * 情報漏えい * 遠隔からの任意のコード実行
対応策
* 最新版のTomcatをインストールするできない場合は...
* readonlyパラメータを「true」にし、HTTP PUTリクエストを受け付けないよう設定する => ただし、CVE-2017-12616(Apache Tomcat 7.0.0 ~ 7.0.80)については readonlyパラメータがtrueであっても発現する
■ readonlyパラメータ
* 「読み込み専用」かどうかを設定。 => PUT / DELETE といった HTTP コマンドを拒否するかどうかを示す * デフォルトは「true」 * readonlyパラメータを true にすることで、ファイルのアップロードを可能にする
$CATALINA_HOME/conf/web.xml
<servlet> <init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> ... 略 ...