CVE-2016-3081 - 脆弱性調査レポート

  • 本文プリント

Apache Struts 2の脆弱性により、リモートから任意のコードが実行可能な脆弱性(CVE-2016-3081)(S2-032)に関する調査レポート

  • 2016年4月28日

概要

Apache Struts 2に、リモートより任意のコードが実行可能な脆弱性(CVE-2016-3081)(S2-032)及び、その脆弱性を利用する攻撃ツールが発見されました。この脆弱性は、Dynamic Method Invocationに起因する脆弱性であり、同機能が有効である場合にのみ影響を受けます。
この脆弱性を利用した攻撃が成立した場合、リモートからApache Struts 2が配置されたWebアプリケーションサーバーの実行権限で任意のコードを実行される危険性があります。

本レポート作成(2016年4月28日)時点において、既にApache Software Foundationよりこの脆弱性が修正されたバージョンがリリースされております(2016年4月19日付)。しかしながら、攻撃が容易であること、また攻撃を受けた際にシステムへの影響が大きいことから、今回、この脆弱性(CVE-2016-3081)の再現性について検証を行いました。

影響を受ける可能性があるシステム

  • Apache Struts 2.3.20.3および2.3.24.3を除く、2.3.20から2.3.28までのバージョン

対策案

本レポート作成(2016年4月28日)時点において、Apache Software Foundation より、この脆弱性を修正するバージョンがリリースされています。当該脆弱性が修正されたバージョンへとアップグレードしていただくことを推奨いたします。アップグレードが困難である場合、Dynamic Method Invocation機能を無効化することにより問題を回避することが可能です。Dynamic Method Invocation機能を無効化するためには、struts.xml内の『struts.enable.DynamicMethodInvocation』の設定値を『false』にした後、Webアプリケーションサーバーを再起動します。

(設定例)

<constant name="struts.enable.DynamicMethodInvocation" value="false" />


バージョン確認方法

Apache Struts 2が配置されたWebアプリケーションサーバーにて、/WEB-INF/lib以下にある.jarファイルを検索します。検索結果として表示されるstruts2-core-2.x.x.x.jarの『2.x.x.x』の部分が、バージョン情報になります。 また、struts2-core-2.x.x.x.jarファイルに含まれるMANIFEST.MFについて、Bundle-Versionから始まる行を参照することでも、Apache Struts 2バージョン情報を確認することが可能です。

参考サイト

検証概要

攻撃者は、ターゲットシステムで動作するWebアプリケーションサーバーに配置されたApache Struts 2へ細工を行ったパケットを送信することにより、このターゲットから誘導先のシステムへコネクションを確立させます。この結果、誘導先のシステムよりWebアプリケーションサーバーの実行権限で任意のコマンドが実行可能となります。
*誘導先のシステムはWindows 7 Professionalです。

検証ターゲットシステム

Debian 7上で動作するTomcat 7.0.39に配置されたApache Struts 2.3.24

検証イメージ

検証イメージ

検証結果

下図は、誘導先のシステム(Windows 7)上で攻撃用のツールを実行した際の画面です。黄枠の箇所は、ターゲットシステムに対して任意のコマンド(cat /etc/passwdは/etc/passwdファイルを参照するコマンド)を実行しています。一方で赤枠の箇所は、コマンドの実行結果(ユーザー情報の表示、および/etc/passwdファイルの内容の表示)が表示されていることを確認できます。(以下の図ではtomcatユーザーによるコマンドの実行がされていますが、こちらの権限はApache Struts 2が配置されたWebアプリケーションサーバーの実行権限に依存します)

検証結果

更新履歴

2016年4月28日 : 初版公開

  • PDF版はこちら

    本件に関するお問い合わせ先

    『報道関係者様からのお問い合わせ』
    ソフトバンク・テクノロジー株式会社
    管理本部 経営企画部 齊藤、安部、菅
    TEL:03-6892-3063
    メールアドレス:sbt-pr@tech.softbank.co.jp
    『お客様からのお問い合わせ』
    下記問い合わせフォームよりお問い合わせください。
  • お問い合わせ・資料請求

    課題や悩みをお持ちのお客様は、
    まずお気軽にご相談ください。

    総合お問い合わせはこちら

    目的別・サービス別のご相談は「お問い合わせ・資料請求先一覧」からお問い合わせください。

    お問い合わせ・資料請求

    課題や悩みをお持ちのお客様は、まずお気軽にご相談ください。

    総合お問い合わせはこちら
    • SBT Talents
    • プライバシーマーク制度

    • ISMS認証登録範囲:
      本社、汐留、大阪、
      名古屋、福岡

    ページトップへ