脆弱性

パスワードリマインド機能における不適切な入力確認の脆弱性

  • 情報公開日:2013年 05月 22日
  • 危険度:
  • 対象:Ver 2.11.0以降(2.11.0 ~2.12.3)
-------------------------------------------------------------------
■脆弱性の種類
-------------------------------------------------------------------
パスワードリマインド機能における不適切な入力確認の脆弱性


-------------------------------------------------------------------
■不具合が存在するEC-CUBEのバージョン
-------------------------------------------------------------------
EC-CUBE 2.11.0 以降 (2011年3月23日公開~)

-------------------------------------------------------------------
■修正方法について(以下は Ver2.12.3 の修正となっております。)
-------------------------------------------------------------------
/data/class/pages/forgot/LC_Page_Forgot.php::lfCheckForgotMail
/data/class/pages/forgot/LC_Page_Forgot.php::lfCheckForgotSecret
に以下の変更を加えます。

※修正ファイルの詳細はこちらをご確認ください
http://www.ec-cube.net/info/weakness/20130522/index.php

▽LC_Page_Forgot.php
157行目付近
-----------------------------------------------------------------------------------------------------------------
 変更前
-----------------------------------------------------------------------------------------------------------------
errmsg = NULL; 
$objQuery =& SC_Query_Ex::getSingletonInstance(); 
$where = '(email Like ? OR email_mobile Like ?) AND name01 Like ? AND name02 Like ? AND del_flg = 0'; 
-----------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------
 変更後
-----------------------------------------------------------------------------------------------------------------
errmsg = NULL; 
$objQuery =& SC_Query_Ex::getSingletonInstance(); 
$where = '(email = ? OR email_mobile = ?) AND name01 = ? AND name02 = ? AND del_flg = 0';
-----------------------------------------------------------------------------------------------------------------

▽LC_Page_Forgot.php
207行目付近
-----------------------------------------------------------------------------------------------------------------
 変更前
-----------------------------------------------------------------------------------------------------------------
$table = 'dtb_customer'; 
$where = '(email Like ? OR email_mobile Like ?)'
        . ' AND name01 Like ? AND name02 Like ?'
-----------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------
 変更後
-----------------------------------------------------------------------------------------------------------------
$table = 'dtb_customer'; 
$where = '(email = ? OR email_mobile = ?)'
        . ' AND name01 = ? AND name02 = ?'
-----------------------------------------------------------------------------------------------------------------

下記のリビジョンで修正
http://svn.ec-cube.net/open_trac/changeset/22580
close icon
EC-CUBEペイメントプラス

決済導入なら、EC-CUBE公式決済

公式決済について詳しく知る

EC-CUBE公式 Amazon Pay

CVRアップの事例多数

Amazon Payについて詳しく知る

無料相談受付中!

アドバイザーに相談する