Apache Struts 1 の CVE-2014-0114 に対するリクエストパラメータフィルタソリューションです。Alvaro Munoz 氏と HP Fortify チーム の研究成果に基づいています。
このフィルタを使用するには、保護対象の Apache Struts 1 アプリケーションの web.xml 記述子に、以下のフィルタ宣言と適切なマッピングを追加してください。
<filter>
<filter-name>ParamWrapperFilter</filter-name>
<filter-class>net.rgielen.struts1.filter.ParamWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ParamWrapperFilter</filter-name>
<servlet-name>YOUR ACTION SERVLET</servlet-name>
</filter-mapping>
このフィルタには、有害なパラメータ名に一致するデフォルトの正規表現が含まれており、明示的な設定で上書きできます。
<filter>
<filter-name>ParamWrapperFilter</filter-name>
<filter-class>net.rgielen.struts1.filter.ParamWrapperFilter</filter-class>
<init-param>
<param-name>excludeParams</param-name>
<param-value>(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*</param-value>
</init-param>
</filter>
...
このフィルタは Maven Central からリリースされています。プロジェクトに組み込むには、次の Maven 依存関係宣言を使用してください(Ivy、Gradle、SBT も同様に対応)。
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
直接ダウンロードすることもできます。上記の座標を使用して Central Repository Search で jar を検索し、ダウンロードしてください。