[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

# [drf:2008] Dspaseの脆弱性について

- Date: Tue, 28 Sep 2010 08:10:26 +0900

    DRFメーリングリストの皆様

    はじめまして、長崎大学の澤村と申します。

    Dspaceの1.6.0以前をお使いの皆様へ
    セキュリティ対策についてお知らせしたいと思い、投稿いたします。

    先日IPAを通じて本学に、Dspaceに対する
    クロスサイトスクリプティング攻撃の危険性の報告がありました。

    危険性が報告されたのは、存在しないハンドル番号がURLに
    入力された際の以下のエラー画面で、任意のスクリプトが
    実行可能ということです。
    　http://naosite.lb.nagasaki-u.ac.jp/dspace/handle/%3C%3E　（パッチ済み）

    本学のDspaceのバージョンは，「1.4.2」です。
    江別の鈴木様に，修正用のパッチを作成していただきました。
    添付のパッチ（配布ついて了承済み）を以下の手順で実行することで、
    特殊文字等をエスケープさせて回避することができます。

    ===========　　作業手順　　=============
    パッチあてからDSpaceの再構築までの作業は次の通りです。
    DSPACE-SRCはDSpaceのソースがあるディレクトリ、TOMCATは
    Tomcatのインストールディレクトリです。

    cp dspace-1.4.2-security.patch(添付パッチ) DSPACE-SRC
    cd DSPACE-SRC
    patch -p0 < dspace-1.4.2-security.patch
    ant update
    TOMCAT/bin/shutdown.sh
    cp build/dspace.war TOMCAT/webapps/
    cd TOMCAT/webapps
    rm -rf dspace
    TOMCAT/bin/startup.sh
    =========================================

    Dspaceの1.6.2以降のバージョンをお使いの方は問題無いようです。

    Dspace1.6.0、1.6.2以降でバグとして報告・修正されています。
    　http://jira.dspace.org/jira/browse/DS-250
    　http://jira.dspace.org/jira/browse/DS-607
    1.5.0〜1.6.0をご使用中の皆様は上記URLの必要なパッチを実行
    されていはいかがでしょうか？

    クロスサイトスクリプティング攻撃の危険性について
    ご検討いただけたら幸いです。

    ***************************************
    長崎大学　学術情報部学術情報管理課
    学術コンテンツ担当　　澤村　俊祐
    電話（内線）2195　（外線）095-819-2195
    Email　s-sawa ＠ xxxxxxxxxxxxxxxx
    ***************************************
    --

    ***************************************
    長崎大学　学術情報部学術情報管理課
    学術コンテンツ担当　　澤村　俊祐
    電話（内線）2195　（外線）095-819-2195
    Email　s-sawa ＠ xxxxxxxxxxxxxxxx
    ***************************************

    Index: src/org/dspace/app/webui/servlet/HandleServlet.java
    ===================================================================
    --- src/org/dspace/app/webui/servlet/HandleServlet.java	(���r�W���� 554)
    +++ src/org/dspace/app/webui/servlet/HandleServlet.java	(��ƃR�s�[)
    @@ -39,6 +39,7 @@
      */
     package org.dspace.app.webui.servlet;

    +import org.apache.commons.lang.StringEscapeUtils;
     import java.io.IOException;
     import java.io.StringWriter;
     import java.net.URLEncoder;
    @@ -159,7 +160,7 @@
             {
                 log.info(LogManager
                         .getHeader(context, "invalid_id", "path=" + path));
    -            JSPManager.showInvalidIDError(request, response, path, -1);
    +            JSPManager.showInvalidIDError(request, response, StringEscapeUtils.escapeHtml(path), -1);

                 return;
             }
    @@ -252,7 +253,7 @@
                 log.info(LogManager.getHeader(context,
                         "Handle not an item, collection or community", "handle="
                                 + handle));
    -            JSPManager.showInvalidIDError(request, response, path, -1);
    +            JSPManager.showInvalidIDError(request, response, StringEscapeUtils.escapeHtml(path), -1);

                 return;
             }
    Index: src/org/dspace/app/webui/util/JSPManager.java
    ===================================================================
    --- src/org/dspace/app/webui/util/JSPManager.java	(���r�W���� 553)
    +++ src/org/dspace/app/webui/util/JSPManager.java	(��ƃR�s�[)
    @@ -45,6 +45,7 @@
     import javax.servlet.http.HttpServletRequest;
     import javax.servlet.http.HttpServletResponse;

    +import org.apache.commons.lang.StringEscapeUtils;
     import org.apache.log4j.Logger;
     import org.dspace.authorize.AuthorizeException;
     import org.dspace.core.Context;
    @@ -163,7 +164,7 @@
                 HttpServletResponse response, String badID, int type)
                 throws ServletException, IOException
         {
    -        request.setAttribute("bad.id", badID);
    +        request.setAttribute("bad.id", StringEscapeUtils.escapeHtml(badID));
             response.setStatus(HttpServletResponse.SC_NOT_FOUND);

             if (type != -1)

    --
    DRF mailing list
    DRF ＠ xxxxxxxxxxxxxxxx
    https://ml.hines.hokudai.ac.jp/mailman/listinfo/drf

- Follow-Ups:
  - [drf:2017] Re: Dspaseの脆弱性について
    - From: Takanori Takeya
  - [drf:2014] Re: Dspaseの脆弱性について
    - From: Katoh, Koichi
  - [drf:2010] Re: Dspaseの脆弱性について
    - From: Yasushi TAKAHASHI
  - [drf:2009] Re: Dspaseの脆弱性について
    - From: Kunie Horikoshi

- Prev by Date: [drf:2007] Re: DSpaceの最大登録数について
- Next by Date: [drf:2009] Re: Dspaseの脆弱性について
- Previous by thread: [drf:2005] DSpaceの最大登録数について
- Next by thread: [drf:2009] Re: Dspaseの脆弱性について
- Index(es):
  - Date
  - Thread