-------------------------------------------------------------------
■脆弱性の種類
-------------------------------------------------------------------
クロスサイトスクリプティング及び、セッション情報漏えいの脆弱性
-------------------------------------------------------------------
■不具合が存在するEC-CUBEのバージョン
-------------------------------------------------------------------
EC-CUBE 2.11.0 ~ 2.11.5
2.11.0
2.11.1
2.11.2
2.11.3
2.11.4
2.11.5
-------------------------------------------------------------------
■修正方法について
-------------------------------------------------------------------
/html/handle_error.php::displaySystemError
に以下の変更を加えます。
▽handle_error.php
96行目付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
/**
* エラー画面を表示する
*
* @param string|null $errstr エラーメッセージ
* @return void
*/
function displaySystemError($errstr = null) {
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
ob_clean();
ob_start(array('SC_MobileEmoji', 'handler'));
} else {
// 最下層以外の出力用バッファをクリアし、出力のバッファリングを解除する
// FIXME #811(出力バッファリングの利用を見直し)
while (ob_get_level() >= 2) {
ob_end_clean();
}
// 最下層の出力バッファをクリアする
ob_clean();
}
-------------------------------------------------------------------
変更後
-----------------------------------------------------------------------------------
/**
* エラー画面を表示する
*
* @param string|null $errstr エラーメッセージ
* @return void
*/
function displaySystemError($errstr = null) {
ini_set('display_errors','0');
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
ob_clean();
ob_start(array('SC_MobileEmoji', 'handler'));
} else {
// 最下層以外の出力用バッファをクリアし、出力のバッファリングを解除する
// FIXME #811(出力バッファリングの利用を見直し)
while (ob_get_level() >= 2) {
ob_end_clean();
}
// 最下層の出力バッファをクリアする
ob_clean();
}
=================================================================================================================