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

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

- Date: Tue, 28 Sep 2010 15:43:44 +0900

    長崎大学　澤村様

    浜松医科大学　加藤です。

    当方もDspaceのバージョンは，「1.4.2」です。
    情報提供ならびにパッチの公開ありがとうございました。

    長崎大学附属図書館学術コンテンツ さんは書きました:
    >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	(リビジョン 554)
    >+++ src/org/dspace/app/webui/servlet/HandleServlet.java	(作業コピー)
    >@@ -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	(リビジョン 553)
    >+++ src/org/dspace/app/webui/util/JSPManager.java	(作業コピー)
    >@@ -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

    -------------------------------------------
    加藤晃一＠浜松医科大学附属図書館
    　kabe ＠ xxxxxxxxxxxxxx
    〒431-3192 静岡県浜松市東区半田山1-20-1
    tel:053-435-2168 / fax:053-435-5140
    浜松医科大学学術情報課（附属図書館）
    "to boldly go where no one has gone before"
    --
    DRF mailing list
    DRF ＠ xxxxxxxxxxxxxxxx
    https://ml.hines.hokudai.ac.jp/mailman/listinfo/drf

- References:
  - [drf:2008] Dspaseの脆弱性について
    - From: 長崎大学附属図書館学術コンテンツ

- Prev by Date: [drf:2013] イベント情報を流すときのTips（あるいはイベント企画時のTips）
- Next by Date: [drf:2015] Re: リポジトリサーバのＩＰアドレス変更について
- Previous by thread: [drf:2010] Re: Dspaseの脆弱性について
- Next by thread: [drf:2017] Re: Dspaseの脆弱性について
- Index(es):
  - Date
  - Thread