ニュース

Apache Struts 2.3系にRCE脆弱性

「Struts 1 Plugin」利用環境に影響、回避策の実行を推奨

 Apache Software Foundationは7日、「Apache Struts 2」においてリモートから任意のコードを実行できる(RCE)脆弱性「CVE-2017-9791」に関するドキュメント「S2-048」を公表した。脆弱性を修正したバージョンは10日15時現在、提供されていない。

 CVE-2017-9791は、Struts 2.3系で「Struts 1 Plugin」を利用している環境において、入力値を適切に処理しなかった場合に影響を受ける。Apache Software Foundationでは重要度を“高(high)”としている。

 一般社団法人JPCERTコーディネーションセンター(JPCERT/CC)によれば、実証コードもすでに公開されており、Apache Software Foundationが公表している回避策の実行を推奨している。JPCERT/CCでは、以下の回避策により、「ActionMessage」クラスに値を直接渡さず、リソースキーを用いることにより、実証コードによる脆弱性の悪用ができなくなることを確認しているとのこと。

 Showcase内のサンプルStrutsアプリケーションに対する回避策適用の例は以下の通り。

・適用前

messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " added successfully"));

・適用後

messages.add("msg", new ActionMessage("Gangster ", gform.getName()));