EC-CUBEプラグイン「EC-CUBE Web API プラグイン」におけるクロスサイトスクリプティングの脆弱性(JVN#26225832)

更新履歴
2024/07/30 14:00
JVNからの公表内容情報へのリンクを追加
2024/07/17 14:00
初版公開

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

EC-CUBE Web API プラグインに脆弱性(緊急度: 低)があることが判明いたしました。

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

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

脆弱性の概要

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

危険度:

不具合が存在するEC-CUBE Web API プラグインのバージョン:

詳細:

EC-CUBE4系のWeb APIプラグインのOAuth管理には、クロスサイトスクリプティングの脆弱性が存在します。
管理画面にアクセス可能なユーザの操作によって、別ユーザのブラウザ上で不正な JavaScriptの実行や、一時的な画面改変が可能です。


JVNからの公表内容 (2024/07/30公開)

JVN#26225832: EC-CUBE 4系用プラグイン「EC-CUBE Web API プラグイン」における格納型クロスサイトス クリプティングの脆弱性

修正方法1: プラグインのバージョンアップを行う場合

EC-CUBE Web API プラグインを最新版にバージョンアップしていただくことで、本件の脆弱性は修正されます。
ご利用の方は、速やかにプラグインのバージョンアップをお願いいたします。

修正済みプラグインのバージョン:

修正方法2-1: 修正差分を確認して適用する場合(バージョン 2.1.3 EC-CUBE 4.0系/4.1系対応)

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

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

修正差分

/app/Plugin/Api/Resource/template/admin/OAuth/authorization.twig CHANGED
@@ -10,11 +10,11 @@
10
10
  <div class="text-center p-5 bg-white">
11
11
  <form name="form1" id="form1" method="post" action="">
12
12
  {{ form_widget(form._token) }}
13
- <p class="text-left">{{ 'api.admin.oauth.allow__confirm_message'|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name}</a>"})|raw }}</p>
13
+ <p class="text-left">{{ 'api.admin.oauth.allow__confirm_message'|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name|escape}</a>"})|raw }}</p>
14
14
  <p class="text-left">{{ 'api.admin.oauth.allow__confirm_description'|trans }}</p>
15
15
  <ul>
16
16
  {% for scope in scopes %}
17
- <li class="text-left">{{ "api.admin.oauth.scope.#{scope}.description"|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name}</a>"})|raw }}</li>
17
+ <li class="text-left">{{ "api.admin.oauth.scope.#{scope}.description"|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name|escape}</a>"})|raw }}</li>
18
18
  {% endfor %}
19
19
  </ul>
20
20
 

修正方法2-2: 修正差分を確認して適用する場合(バージョン 4.2.3 EC-CUBE 4.2系対応)

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

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

修正差分

/app/Plugin/Api/Resource/template/admin/OAuth/authorization.twig CHANGED
@@ -10,11 +10,11 @@
10
10
  <div class="text-center p-5 bg-white">
11
11
  <form name="form1" id="form1" method="post" action="">
12
12
  {{ form_widget(form._token) }}
13
- <p class="text-start">{{ 'api.admin.oauth.allow__confirm_message'|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name}</a>"})|raw }}</p>
13
+ <p class="text-start">{{ 'api.admin.oauth.allow__confirm_message'|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name|escape}</a>"})|raw }}</p>
14
14
  <p class="text-start">{{ 'api.admin.oauth.allow__confirm_description'|trans }}</p>
15
15
  <ul>
16
16
  {% for scope in scopes %}
17
- <li class="text-start">{{ "api.admin.oauth.scope.#{scope}.description"|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name}</a>"})|raw }}</li>
17
+ <li class="text-start">{{ "api.admin.oauth.scope.#{scope}.description"|trans({'%shop_name%': "<a href=\"#{path('homepage')}\">#{BaseInfo.shop_name|escape}</a>"})|raw }}</li>
18
18
  {% endfor %}
19
19
  </ul>
20
20
 

問い合わせ先

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

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