« Internet Explorer の脆弱性(CVE-2014-1776)を悪用したパッチ未公開のゼロデイ攻撃を確認 | トップページ | 三井住友銀行が自動で不正送金するマルウェア発生について注意喚起 »

Apache Struts2 の脆弱性(CVE-2014-0094) S2-020 を悪用する攻撃コードが公開

Apache Struts2 の脆弱性(CVE-2014-0094) S2-020 を悪用する攻撃コードが公開

概要

Java の Webアプリケーション開発で多く利用されているフレームワーク Apache Struts 2 のバージョン 2.0.0 ~ 2.3.16.1 に、ClassLoader を操作される脆弱性CVE-2014-0094CVE-2014-0112CVE-2014-0113CVE-2014-0116)(S2-021S2-022)が見つかっています。情報処理推進機構(IPA) によると、この CVE-2014-0094 の脆弱性を悪用する攻撃コードが公開されているとの情報があり、再現検証を実施した結果、ウェブアプリケーションの権限を使って情報窃取やファイル操作、ウェブアプリケーションを一時的に使用不可にできることを確認したとのこと。

Apache Struts は、昨年2013年7月にも深刻な脆弱性(S2-016; CVE-2013-2251)が発見されており、検証コード公開により攻撃が急増。ウェブサーバに不正に web shell (ウェブシェル)などを設置され、データベースなどの情報を盗み取られる等の被害が多数出ました。

CVE-2014-0094 (S2-020) についても、今回の攻撃コード公開により脆弱性を持つウェブサーバが被害を受ける可能性が非常に高まっています。早急に対策することをお勧めします。


CVE-2014-0094 (S2-020) の脆弱性の概要

Apache Struts2 のデフォルトアップロードメカニズムに DoS 攻撃可能な脆弱性がある。また、ParametersInterceptor には、class パラメータを使って ClassLoader を操作出来てしまう脆弱性がある。

The default upload mechanism in Apache Struts 2 is based on Commons FileUpload version 1.3 which is vulnerable and allows DoS attacks. Additional ParametersInterceptor allows access to 'class' parameter which is directly mapped to getClass() method and allows ClassLoader manipulation.


影響を受けるソフトウェア

CVE-2014-0094 の対策版である Apache Struts 2.3.16.1 も不備があり影響を受けます。 また、Apache Struts 1 についても同様の脆弱性があることが確認されました。


対策

脆弱性が修正された Apache Struts 2.3.16.1 にアップデートする

脆弱性が修正された Apache Struts 2.3.16.2 にアップデートする

Apache Software Foundation からのアナウンス
http://struts.apache.org/announce.html#a20140424

脆弱性が修正された Apache Struts 2.3.16.3 にアップデートする

Apache Struts 2.3.16.3 では、以下の複数の脆弱性が修正されている

RedHat Enterprise Linux  5 の Struts1 に関しては Struts1 CVE-2014-0114 修正アップデートを適用する


回避策(暫定対策)

すぐに Apache Struts のバージョンアップは難しい場合は回避策を実施する。また、Apache Struts1 は、すでにサポートが終了しているため対策版はリリースされません。回避策を参考に対策する必要があります。


攻撃情報

Apache Struts 2 の S2-020 の攻撃の検知情報が出てきました。早急に対策する必要があります。

Struts 1の内部動作上、「class」の先頭の大文字・小文字は区別されます。そのため、先頭の「c」が大文字の場合、今回の脆弱性をついた攻撃は成功しません。


関連URL

  • StrutsのClassLoader脆弱性はSAStrutsに影響しません - ひがやすを blog
  • http://d.hatena.ne.jp/higayasuo/20140425/1398403491

    このような問題を起こすリフレクションフレームワークで最も有名なのは、Apache Commons BeanUtilsです。リクエストのパラメータをBeanUtilsを使って、JavaBeansにセットしているフレームワークは、Strutsに限らず同じことが起きると思います。

  • 無償グループウェア「GroupSession」に「Apache Struts」起因の脆弱性 - 窓の杜
  • http://www.forest.impress.co.jp/docs/news/20140508_647318.html

    日本トータルシステム(株)は4月28日、無償で利用できるJava製の国産グループウェア「GroupSession」の最新版v4.2.6を公開した。本バージョンでは「Apache Struts」に起因する脆弱性が修正されている。

    「GroupSession」は、内部で「Apache Struts 1」を利用しているそうです。このため、脆弱性(CVE-2014-0094)の影響を受ける可能性がある。GroupSession v4.2.6 では修正されている。

  • CVE-2014-0114 は Red Hat 製品に含まれる Struts 1 に影響がありますか - Red Hat Customer Portal
  • https://access.redhat.com/site/ja/node/870563

    Struts 1 はすでにアップストリームでサポートされておらず、アップストリームではパッチ作成の責務はありません。Red Hat は、影響を受ける製品のパッチについて、高い優先度で対応中です。

    Red Hat はパッチ作成の責務はないけど、何らかの対応はするつもり?

  • 【セキュリティ ニュース】【修正】「Apache Struts 2.3.16.2」が公開 - 対応不十分だった深刻な脆弱性に対応:Security NEXT
    http://www.security-next.com/048414

  • Struts2 S2-020在Tomcat 8下的命令?行分析 - 百度安全中心
    http://sec.baidu.com/index.php?research/detail/id/18
  •   検証していませんが S2-020 の POC などの記載がありました。
    ClassLoader を使って Tomcat のログの出力先やファイル名を変更して、wepapps/ROOT などの公開ディレクトリ上に shell1.jsp を作成。
    shell1.jsp ログとして「<%Runtime.getRuntime().exec("calc");%>」などの jspコードを記録させて、shell1.jsp を呼び出すと calc が実行されるというもの。



« Internet Explorer の脆弱性(CVE-2014-1776)を悪用したパッチ未公開のゼロデイ攻撃を確認 | トップページ | 三井住友銀行が自動で不正送金するマルウェア発生について注意喚起 »

Linux」カテゴリの記事

Solaris」カテゴリの記事

セキュリティ事件、サイバー攻撃」カテゴリの記事

セキュリティ(Security)」カテゴリの記事

ニュース」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/503138/59484366

この記事へのトラックバック一覧です: Apache Struts2 の脆弱性(CVE-2014-0094) S2-020 を悪用する攻撃コードが公開:

« Internet Explorer の脆弱性(CVE-2014-1776)を悪用したパッチ未公開のゼロデイ攻撃を確認 | トップページ | 三井住友銀行が自動で不正送金するマルウェア発生について注意喚起 »

記事一覧

スポンサードリンク


Twitter


無料ブログはココログ

ブログ検索