NTTデータ先端技術株式会社は6月22日、「Apache Struts」のException Delegatorにおける入力値処理の不備により任意のJavaコードが実行される脆弱性(CVE-2012-0391)に関する検証レポートを公開した。本脆弱性は、Exception Delegatorにおける入力値処理時の例外において、値をOGNL式として評価するため、任意のJavaコードを実行可能となるもの。攻撃者は本脆弱性を悪用し、ターゲットホスト上において奪取されたユーザ権限で任意のJavaコードを実行することが可能になる。同社では今回、この脆弱性の再現性について検証した。検証は、Windows Server 2003上のTomcat 7.0.27、Apache Struts 2.2.1.1を利用したWebアプリケーション、およびDebian 6.0.2上のJetty 6.1.25、Apache Struts2.2.1.1を利用したWebアプリケーションを検証ターゲットシステムとして実施した。ターゲットシステムに細工したHTTPリクエストを送信し、Strutsを利用したアプリケーションを介して、任意のJavaコードを実行させた。なお、今回の検証に用いたコードは、ターゲットシステム上から特定のサーバ、ポートへコネクションを確立させるよう誘導し、システムの制御を奪取するもの。これにより、リモートからターゲットシステムを操作可能となる。検証の結果、誘導先のコンピュータ(Debian)のコンソール上にターゲットシステム(Windows Server 2003)のプロンプトが表示され、ターゲットシステムの制御の奪取に成功した。