JPCERT コーディネーションセンター

安全・安心なIT社会のための、国内・国際連携を支援する

お問い合わせ 採用情報 サイトマップ English

Home > 情報提供 > 注意喚起 > 2016 > Apache Struts 2 の脆弱性 (S2-037) に関する注意喚起

最終更新: 2016-06-20

Apache Struts 2 の脆弱性 (S2-037) に関する注意喚起


各位


                                                   JPCERT-AT-2016-0027
                                                             JPCERT/CC
                                                            2016-06-20

                  <<< JPCERT/CC Alert 2016-06-20 >>>

           Apache Struts 2 の脆弱性 (S2-037) に関する注意喚起

            https://www.jpcert.or.jp/at/2016/at160027.html


I. 概要

  Apache Software Foundation が提供している Apache Struts 2 には脆弱性
(S2-037/CVE-2016-4438) が存在します。REST Plugin*1 を使用している場合、
遠隔の攻撃者が、脆弱性を悪用するように細工した HTTP リクエストを送信す
ることで、Apache Struts 2 を使用するアプリケーション (Struts アプリケー
ション) を実行しているサーバにおいて、任意のコードが実行される可能性が
あります。
  脆弱性の詳細は、Apache Software Foundation の情報を確認してください。

   *1 Struts アプリケーションにおいて REST サービスを実装するためのプラ
   グイン
   REST Plugin
   https://struts.apache.org/docs/rest-plugin.html

  本脆弱性の実証コードが公開されており、JPCERT/CC にて実証コードを用い
て検証した結果、Struts アプリケーションを実行しているアプリケーション
サーバの実行権限で任意のコードが実行されることを確認しました。

  Apache Software Foundation から、本脆弱性に対する修正済みソフトウェア
が提供されています。影響するバージョンのソフトウェアを使用している場合
には、「V. 対策」を参考に、早期の対応を行うことを強く推奨します。


II. 想定される攻撃シナリオ

  REST Plugin を使用している Struts アプリケーションに対して、脆弱性を
悪用するように細工した HTTP リクエストを送信することで、Struts アプリ
ケーションを実行しているサーバ上で任意のコードが実行されます。


III. 対象

  本脆弱性の影響を受ける製品は以下の通りです。
  - Apache Struts 2.3.20 から 2.3.28.1 まで


IV. JPCERT/CC による検証結果

  JPCERT/CC では、本脆弱性に対する実証コードを用いて、以下の検証を実施
しました。

  【検証内容】
 - Apache Struts 2 を使用するサンプルのアプリケーションを Apache Tomcat
   上に配備し、実証コードを用いて、脆弱性を悪用するように細工した HTTP
   リクエストを送ることで、任意のコードが実行されるか確認しました。

  【検証環境】
    - アプリケーションサーバ
      - CentOS 6.6
      - Apache Tomcat 8.0.30
      - Java 1.8.0_91
      - Apache Struts 2 を使用するサンプルアプリケーション

  【検証結果】
   ○:実証コードが動作しないことを確認
   ×:実証コードが動作し、任意のコード実行が可能であることを確認

   - Apache Struts 2.3.28.1  |    ×    |
   - Apache Struts 2.3.29    |    ○    |


V. 対策

  Apache Software Foundation より、本脆弱性を修正したバージョンが公開
されています。十分なテストを実施の上、修正済みバージョンを適用すること
を強くお勧めします。

  -  Apache Struts 2.3.29


VI. 参考情報

    Apache Struts 2 Documentation
    S2-037: Remote Code Execution can be performed when using REST Plugin.
    https://struts.apache.org/docs/s2-037.html

    Apache Struts 2 Documentation
    Version Notes 2.3.29
    https://struts.apache.org/docs/version-notes-2329.html

    Apache Struts 2 Documentation
    REST Plugin
    https://struts.apache.org/docs/rest-plugin.html


  今回の件につきまして当方まで提供いただける情報がございましたら、ご連
絡ください。

======================================================================
一般社団法人 JPCERT コーディネーションセンター (JPCERT/CC)
MAIL: info@jpcert.or.jp
TEL: 03-3518-4600  FAX: 03-3518-4602
https://www.jpcert.or.jp/

Topへ