Apache Struts2の脆弱性は未解決? Struts1にも存在――国内サイト多数に影響か

脆弱性を修正したとされるバージョンでは対応が不十分である可能性が指摘された。一方、この脆弱性はサポートが終了しているStruts1にも存在し、多数のWebサイトが無防備なままになっているという。

» 2014年04月24日 20時00分 公開
[ITmedia]

 Java WebアプリケーションフレームワークのApache Struts2に脆弱性が見つかった問題で、この脆弱性を修正したとされるバージョンは、実際には修正が不十分であることが分かった。さらに、この脆弱性は既にサポートが終了しているApache Struts1にも存在することが判明した。

 脆弱性はApache Struts 2.0.0〜2.3.16に存在する。細工されたリクエストをWebサーバに送りつけるとClassLoaderが不正操作され、情報が流出したり、任意のコードを実行されたりする恐れがある。修正版というApache Struts 2.3.16.1が3月2日にリリースされていた。

 情報処理推進機構は4月17日、この脆弱性を悪用する攻撃コードが出回り、実際に攻撃されてしまうことを確認したとして、Web管理者などに対応を呼び掛けていた

 しかし、Apache Struts 2.3.16.1の修正状況を調べていた三井物産セキュアディレクション(MBSD)は22日、この対応が不十分であり、いまだに修正されていないと発表した。同社はApache Software Foundationに連絡し、対応を待っているところだという。

 また、ラック サイバー・グリッド研究所は24日、Apache Struts2のこの脆弱性がApache Struts 1.1、1.2.9、1.3.10にも存在することを確認したと発表した。これらは同社が検証したもので、これら以外のバージョンにも存在する可能性があるという。

 Struts1は2013年4月5日にサポートが終了しており、修正版は提供されない。同社によれば、国内では官公庁や公益法人、銀行など多数のWebサイトがStruts 1で稼働しており、「ベンダーからのサポートなど特別な対応を行わない限り、攻撃に対した無防備なままになる」と注意を呼び掛けている。

 Apache Struts2では今後新たな修正版がリリースされるまで、対策ができない恐れもある。MBSDでは暫定対応策として作成したサーブレットフィルタのソースコードを公開している

 一方、Struts1では修正版が今後も提供されないため、ラック サイバー・グリッド研究所では以下の緩和策実施を推奨している。

  • 不正な文字列がパラメータに含まれる場合(正規表現:「(^|\\W)[cC]lass\\W」に合致するパラメータ名が含まれる場合など)にリクエストを拒否するフィルタ機能を実装する
  • WebアプリケーションファイアウォールやIPSなどネットワーク側で攻撃を遮断する

関連キーワード

Struts | Apache | 脆弱性 | Webアプリケーション


Copyright © ITmedia, Inc. All Rights Reserved.