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

更新履歴
2022/09/15 16:50
【重要】修正ファイル(4.0.6-p1用)の内容に誤りがあり、4.1.2用のファイルを掲載しておりましたので、ファイルを更新いたしました。
公開されていた時間:2022/09/09 10:00 〜 2022/09/15 16:50
上記時間帯にファイルの適応を行った方は、再度のご確認と修正対応をお願いいたします。 なお、誤ったファイルを適用していた場合でも、動作上影響はなく、脆弱性そのものも修正は行われています。
2022/09/15 16:50
JVNからの公表内容情報へのリンクを追加
2022/09/09 10:00
初版公開

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

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

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

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

脆弱性の概要

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

危険度:

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

詳細:

EC-CUBEにはDOM Based XSSの脆弱性が存在します。攻撃者は当該脆弱性を悪用して、被害者のブラウザ上で任意のスクリプトを実行させる可能性があります。 なお、実行には被害者による操作が必要であるため攻撃への悪用は難しいと考えられます。

JVNからの公表内容 (2022/09/15公開)

JVN#21213852: EC-CUBE における複数の脆弱性

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

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

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

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

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

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

    あらかじめEC-CUBEファイル全体のバックアップを行ってください。
    ※作業中はメンテナンスモードに切り替えることをおすすめします。

  3. 修正ファイルの反映

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

    上書きするファイル

    • src/Eccube/Resource/template/admin/Setting/Shop/delivery_edit.twig

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

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

  4. キャッシュの削除

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

  5. 動作確認

    管理画面にログインし、基本操作が正常に行えることをご確認ください。
    ※メンテナンスモードにされていた場合は解除をお願いします。

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

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

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

修正差分

src/Eccube/Resource/template/admin/Setting/Shop/delivery_edit.twig CHANGED
@@ -89,8 +89,8 @@ file that was distributed with this source code.
89
89
 
90
90
  var prototype = $collectionHolder.data('prototype');
91
91
 
92
- var newForm = prototype.replace(/__name__/g, index);
93
- var newForm = newForm.replace(/__value__/g, deliveryTimeName);
92
+ var newForm = $(prototype.replace(/__name__/g, index));
93
+ newForm.find('.display-label').text(deliveryTimeName)
94
94
 
95
95
  // 要素を追加
96
96
  var $lastRow = $('#delivery-time-group > li:last');

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

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

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

修正差分

src/Eccube/Resource/template/admin/Setting/Shop/delivery_edit.twig CHANGED
@@ -89,8 +89,8 @@ file that was distributed with this source code.
89
89
 
90
90
  var prototype = $collectionHolder.data('prototype');
91
91
 
92
- var newForm = prototype.replace(/__name__/g, index);
93
- var newForm = newForm.replace(/__value__/g, deliveryTimeName);
92
+ var newForm = $(prototype.replace(/__name__/g, index));
93
+ newForm.find('.display-label').text(deliveryTimeName)
94
94
 
95
95
  // 要素を追加
96
96
  var $lastRow = $('#delivery-time-group > li:last');

問い合わせ先

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

EC-CUBE 運営チーム
MAIL: support@ec-cube.net