-------------------------------------------------------------------
■脆弱性の種類
-------------------------------------------------------------------
ファイルパス情報漏えいの脆弱性
-------------------------------------------------------------------
■不具合が存在するEC-CUBEのバージョン
-------------------------------------------------------------------
EC-CUBE 2.11.2 以降
2.11.2
2.11.3
2.11.4
2.11.5
2.12.0
2.12.1
2.12.2
2.12.3
2.12.3en.p1
2.12.3en.p2
2.12.4
2.12.4en
2.12.5
2.12.5en
2.12.6
2.12.6en
2.13.0
-------------------------------------------------------------------
■修正方法について
-------------------------------------------------------------------
▽LC_Page_Mypage_DeliveryAddr.php
84行目付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
$this->ParentPage = $ParentPage;
/*
* ログイン判定 及び 退会判定
* 未ログインでも, 複数配送設定ページからのアクセスの場合は表示する
*
* TODO 購入遷移とMyPageで別クラスにすべき
*/
if (!$objCustomer->isLoginSuccess(true) && $ParentPage != MULTIPLE_URLPATH) {
$this->tpl_onload = "fnUpdateParent('". $this->getLocation($_POST['ParentPage']) ."'); window.close();";
}
-------------------------------------------------------------------
-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
// 正しい遷移かをチェック
$arrParentPageList = array(DELIV_URLPATH, MYPAGE_DELIVADDR_URLPATH, MULTIPLE_URLPATH);
if(!SC_Utils_Ex::isBlank($ParentPage) && !in_array($ParentPage, $arrParentPageList)) {
// 遷移が正しくない場合、デフォルトであるマイページの配送先追加の画面を設定する
$ParentPage = MYPAGE_DELIVADDR_URLPATH;
}
$this->ParentPage = $ParentPage;
/*
* ログイン判定 及び 退会判定
* 未ログインでも, 複数配送設定ページからのアクセスの場合は表示する
*
* TODO 購入遷移とMyPageで別クラスにすべき
*/
if (!$objCustomer->isLoginSuccess(true) && $ParentPage != MULTIPLE_URLPATH) {
$this->tpl_onload = "fnUpdateParent('". $ParentPage ."'); window.close();";
}
=================================================================================================================
下記のリビジョンで修正
http://svn.ec-cube.net/open_trac/changeset/23278