Struts1にも脆弱性
- ラック、Apache Struts 1利用サイトに注意喚起 - Struts 2と同様の脆弱性 | マイナビニュース
- Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響~国内でいまだ大量稼働するStruts 1利用企業に、直ちに緩和策を~ | セキュリティ情報 | 株式会社ラック
struts 1.3.10のソースコードを見つつ、ここかなという部分を見つける。OGNL使っていないけどBeanUtils使って似たようなことやってるしな〜
対策は
不正な文字列がパラメータに含まれる場合(正規表現:「(^|\\W)[cC]lass\\W」に合致するパラメータ名が含まれる場合等)にリクエストを拒否するフィルタ機能を実装する。
で、良いのだと思う。
(追記)マルチパートリクエスト経由で攻撃できそうなので、フィルタだけでは微妙かも。StrutsのRequestUtilsの該当部分のパッチを書いた方が良いかも→マルチパートもフィルタで対処できるか
(追記2)パッチの作り安さ、根本的に解決できるという点からいくとcommons-beanutilsのパッチを書いた方が良いか