EC-CUBE 3系におけるクロスサイトスクリプティングの脆弱性(JVN#04785663)

更新履歴
2023/02/28 11:00
謝辞を追加
2023/02/14 17:00
初版公開

EC-CUBEにおけるクロスサイトスクリプティングの脆弱性

EC-CUBE 3系におけるクロスサイトスクリプティングの脆弱性(危険度: 低)があることが判明いたしました。

脆弱性そのものは、修正の反映によりすぐに解決するものです。
以下のいずれかの方法により、ご対応をお願いいたします。

皆様にはお手数おかけし誠に申し訳ございません。
本脆弱性における被害報告は現時点でございませんが、できるだけ速やかにご対応をお願いいたします。

脆弱性の概要

EC-CUBEにおけるクロスサイトスクリプティングの脆弱性

危険度:

不具合が存在するEC-CUBEのバージョン:

詳細:

EC-CUBEにはXSSの脆弱性が存在します。攻撃者は当該脆弱性を悪用して、被害者のブラウザ上で任意のスクリプトを実行させる可能性があります。


JVNからの公表内容 (2022/02/28公開)

JVN#04785663: EC-CUBE における複数のクロスサイトスクリプティングの脆弱性

修正方法1: 修正ファイルを利用する場合

開発環境がある場合は、まず開発環境でお試しください。
以下の手順に従って、修正ファイルの反映をお願いいたします。

  1. 修正ファイルのダウンロード

    ご利用中のEC-CUBEのバージョンに該当する修正ファイルをダウンロードしてください。
    ※EC-CUBEのバージョンはこちらの手順でご確認ください。
    ※修正ファイルは各バージョンの最新版に対して作成しています。旧バージョンをご利用の場合は、「修正方法2」のご対応をお願いします。

    ダウンロードし、解凍していただきますと、以下の修正ファイルがあります。必ず該当するバージョンのファイルをご利用ください。

    • src/Eccube/Resource/template/admin/Content/file.twig
  2. EC-CUBEファイルのバックアップ

    あらかじめEC-CUBEファイル全体のバックアップを行ってください。

  3. 修正ファイルの反映

    以下のファイルを上書き更新してください。

    上書きするファイル

    • src/Eccube/Resource/template/admin/Content/file.twig

    下記にファイルが存在する場合は同様に上書きをお願いします

    • app/template/admin/Content/file.twig
    ※EC-CUBE本体のカスタマイズをしている場合、修正箇所の差分をご確認のうえ反映をお願いします。
    ※開発環境がある場合は、開発環境での反映・動作確認を行った後に、本番環境への反映をおすすめします。

  4. キャッシュの削除

    EC-CUBE のキャッシュの削除が必要です。
    EC-CUBE の管理画面にログインいただき、コンテンツ管理 -> キャッシュ管理 のページからキャッシュの削除をお願いいたします

  5. 動作確認

    管理画面にログインし、基本操作が正常に行えることをご確認ください。

修正方法2: 修正差分を確認して適宜反映する場合(3.0系)

以下のコード差分情報を参照して頂き、必要な箇所に修正を反映してください。

本修正方法はEC-CUBE 3.0.18-p5のバージョンを例として提示しております。
過去バージョンをご利用の場合は、下記修正対象ファイルの修正差分を参考にご対応お願いいたします。

修正差分

src/Eccube/Resource/template/admin/Content/file.twig CHANGED
@@ -102,7 +102,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
102
102
  </thead>
103
103
  <tbody>
104
104
  {% if tpl_is_top_dir == false %}
105
- <tr id="parent_dir" onclick="eccube.setValue('select_file', '{{ tpl_parent_dir }}', 'form1'); eccube.fileManager.selectFile('parent_dir', '#808080');" onDblClick="eccube.fileManager.setTreeStatus('tree_status');eccube.fileManager.doubleClick(arrTree, '{{ tpl_parent_dir }}', true, '{{ tpl_now_dir }}', true)" style="">
105
+ <tr id="parent_dir">
106
106
  <td id="result_list__name"><svg class="cb cb-ellipsis-h"><use xlink:href="#cb-ellipsis-h" /></svg></td>
107
107
  <td id="result_list__size">&nbsp;</td>
108
108
  <td id="result_list__time">&nbsp;</td>
@@ -113,7 +113,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
113
113
  {% endif %}
114
114
  {% for file in arrFileList %}
115
115
  <tr id="{{ loop.index }}" style="">
116
- <td id="result_list__name--{{ loop.index }}" class="file-name" onDblClick="eccube.fileManager.setTreeStatus('tree_status');eccube.fileManager.doubleClick(arrTree, '{{ file.file_path }}', {% if file.is_dir %}true{% else %}false{% endif %} '{{ tpl_now_dir }}', false)">
116
+ <td id="result_list__name--{{ loop.index }}" class="file-name">
117
117
  {% if file.is_dir %}
118
118
  <svg class="cb cb-folder"><use xlink:href="#cb-folder" /></svg>
119
119
  {% else %}

問い合わせ先

本脆弱性に関するお問合せ:

EC-CUBE 運営チーム
MAIL: [email protected]

謝辞

本脆弱性は、

コンテンツ管理におけるクロスサイトスクリプティング CVE-2023-22438

よりご報告いただきました。
この場をお借りして、厚く御礼申し上げます。