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 を単体でも公開したそうです。

こちらのパッチを当てれば良いかと。

(素晴らしい試みです。)

sourceforge.jp