Apache Struts1に脆弱性(2015.3.24)
2015年3月24日にApache Struts1に関連する脆弱性が公開されました。
JVN#86448949: TERASOLUNA Server Framework for Java(WEB) の Validator に入力値検査回避の脆弱性
タイトルはTERASOLUNA Server Framework for Javaの脆弱性となっていますが、Apache Struts1を利用している場合は影響受けます。
Struts1のValidator機能、またはCommons Validatorを使った入力値検証を任意のパラメータを送ることで回避することが出来るというもの。
影響はサイトによって異なりますが、入力値検査が回避されることで想定外のデータがデータベースに登録されるなどの可能性があります。
脆弱性概要
HTTPリクエストに一定の条件に当てはまるパラメータが含まれる場合、入力値検証が全て不正にスキップされてしまう。
本脆弱性は、Struts1のValidator機能のサブ機能である「Multi Page Validator(MPV)機能」が持つ脆弱性に起因。
しかしMPV機能を使用していない場合も、Common Validatorのpage機能を利用している場合、本脆弱性の影響を受ける。
影響範囲
Struts1のValidator機能、又はCommons Validatorを使って入力値検証を行っている場合
修正方法
株式会社エヌ・ティ・ティ・データさんが、本脆弱性を修正した Apache Struts 1.2.9 with SP2 by TERASOLUNA を単体でも公開したそうです。
こちらのパッチを当てれば良いかと。
(素晴らしい試みです。)