FC2ブログ

下流ネットワークエンジニアの生活

上流工程を夢見る下流工程のネットワークエンジニアがネットワーク技術や資格、身の回りのことを情報発信! Juniper Cisco YAMAHA DELL D-Link AlaxalA F5 CCNA CCNP CCIE ネットワークスペシャリスト

指定期間 の記事一覧

F5 BIG-IP Version 11.2.1 一部モジュールについてのみEoSDが延長

2014.01.31 (Fri)
BIG-IP Version 11.2.1のサポート延長が公表された。


BIG-IP Version 11.2.1 の下記モジュールについてのみ
サポート終了(EoSD)日が2017年12月31日へ延長されました。

対象モジュール:AVR, GTM, LC, LTM, WA, WOM






詳細はこちら


スポンサーサイト



オンラインショッピングCMS EC-CUBEで情報改ざん/漏えいの脆弱性(JVN#17849447)(JVN#51770585)

2014.01.23 (Thu)
EC-CUBE には、情報改ざん/漏えいの脆弱性が存在することを公表した。



■内容

EC-CUBE は、オープンソースのショッピングサイト構築システムです
EC-CUBE には、情報改ざんの脆弱性が存在します。

ショッピングサイト利用者によって、他の利用者の登録情報を改ざんや
他の利用者の登録情報を取得される可能性がある。



■影響するバージョン

EC-CUBE 2.4.4 およびそれ以前
EC-CUBE 2.11.0
EC-CUBE 2.11.1
EC-CUBE 2.11.2
EC-CUBE 2.11.3
EC-CUBE 2.11.4
EC-CUBE 2.11.5
EC-CUBE 2.12.0
EC-CUBE 2.12.1
EC-CUBE 2.12.2






■対処方法

①個人情報改ざんの対処

/data/class/pages/shopping/LC_Page_Shopping_Deliv.php::action
《2.4.4以下のEC-CUBEでは、下記も追加で修正を行います。》
/data/class/pages/shopping/LC_Page_Shopping_Deliv.php::mobileProcess
に以下の変更を加えます。

===================================================================
▽2.11.0以上のバージョンは以下を参考下さい
-------------------------------------------------------------------
▽LC_Page_Shopping_Deliv.php::action
107行目付近を変更下さい。
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
$arrForm = $objFormParam->getHashArray();

switch ($this->getMode()) {
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
$arrForm = $objFormParam->getHashArray();

if (!$this->doCheck($arrForm, $objCustomer)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}

switch ($this->getMode()) {
====================================================================

▽LC_Page_Shopping_Deliv.php
235行目付近に追記下さい。
-------------------------------------------------------------------
追記後
-------------------------------------------------------------------
function doCheck($arrForm, &$objCustomer) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
if (empty($arrForm['other_deliv_id'])) {
$result = 1;
}
else {
$where = 'other_deliv_id = ? AND customer_id = ?';
$result = $objQuery->count('dtb_other_deliv', $where, array($arrForm['other_deliv_id'], $objCustomer->getValue('customer_id')));
}

return $result;
}
}
?>
====================================================================
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

====================================================================
▽2.4.4以下のバージョンは以下を参考下さい
--------------------------------------------------------------------
▽LC_Page_Shopping_Deliv.php::action
99行目付近を変更下さい。
--------------------------------------------------------------------
変更前
--------------------------------------------------------------------
// ログインチェック
if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess()) {
// 不正アクセスとみなす
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}

switch($_POST['mode']) {
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
// ログインチェック
if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess()) {
// 不正アクセスとみなす
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}

if (!$this->doCheck($_POST, $objCustomer)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}

switch($_POST['mode']) {
=====================================================================

▽LC_Page_Shopping_Deliv.php::mobileProcess
264行目付近を変更下さい。
---------------------------------------------------------------------
変更前
---------------------------------------------------------------------
// ログインチェック
if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess(true)) {
// 不正アクセスとみなす
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true);
}

switch($_POST['mode']) {
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
// ログインチェック
if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess(true)) {
// 不正アクセスとみなす
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true);
}

if (!$this->doCheck($_POST, $objCustomer)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}

switch($_POST['mode']) {
======================================================================

▽LC_Page_Shopping_Deliv.php
584行目付近に追記下さい。
-------------------------------------------------------------------
追記後
-------------------------------------------------------------------
function doCheck($arrForm, &$objCustomer) {
$objQuery = new SC_Query();
if (empty($arrForm['other_deliv_id'])) {
$result = 1;
}
else {
$where = 'other_deliv_id = ? AND customer_id = ?';
$result = $objQuery->count('dtb_other_deliv', $where, array($arrForm['other_deliv_id'], $objCustomer->getValue('customer_id')));
}

return $result;
}
}
?>




②情報漏えいの対処


/data/class/pages/shopping/LC_Page_Shopping_Multiple.php::lfCheckError
に以下の変更を加えます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
=====================================================================
▽2.12.0以上のバージョンは以下を参考下さい
---------------------------------------------------------------------
▽LC_Page_Shopping_Multiple.php::lfCheckError
221行目付近を変更下さい。
---------------------------------------------------------------------
変更前
---------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objCartSess = new SC_CartSession_Ex();

$objFormParam->convParam();
// 数量未入力は0に置換
$objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));

$arrErr = $objFormParam->checkError();

$arrParams = $objFormParam->getSwapArray();

if (empty($arrErr)) {
foreach ($arrParams as $index => $arrParam) {
// 数量0で、お届け先を選択している場合
if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。';;
}
// 数量の入力があり、お届け先を選択していない場合
if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ お届け先が入力されていません。';
}
}
}
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objCartSess = new SC_CartSession_Ex();
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objCustomer = new SC_Customer_Ex();

$objFormParam->convParam();
// 数量未入力は0に置換
$objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));

$arrErr = $objFormParam->checkError();

$arrParams = $objFormParam->getSwapArray();

if (empty($arrErr)) {
foreach ($arrParams as $index => $arrParam) {
// 数量0で、お届け先を選択している場合
if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。';;
}
// 数量の入力があり、お届け先を選択していない場合
if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ お届け先が入力されていません。';
}
}
}

if ($objCustomer->isLoginSuccess(true) && SC_Utils_Ex::isBlank($arrErr)) {
$deliv_check_flg = true;
foreach ($arrParams as $index => $arrParam) {
if ($arrParam['shipping'] != 0) {
$deliv_check = $objQuery->count('dtb_other_deliv','other_deliv_id = ? AND customer_id = ?', array($arrParam['shipping'], $objCustomer->getValue('customer_id')));
if ($deliv_check < 1) {
$deliv_check_flg = false;
break;
}
}
}

if (!$deliv_check_flg) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
}
====================================================================
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
====================================================================
▽2.11.2~2.11.5のバージョンは以下を参考下さい
--------------------------------------------------------------------
▽LC_Page_Shopping_Multiple.php::lfCheckError
210行目付近を変更下さい。
--------------------------------------------------------------------
変更前
--------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objCartSess = new SC_CartSession_Ex();

$objFormParam->convParam();
// 数量未入力は0に置換
$objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));

$arrErr = $objFormParam->checkError();

$arrParams = $objFormParam->getSwapArray();

if (empty($arrErr)) {
foreach ($arrParams as $index => $arrParam) {
// 数量0で、お届け先を選択している場合
if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。';;
}
// 数量の入力があり、お届け先を選択していない場合
if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ お届け先が入力されていません。';
}
}
}
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objCartSess = new SC_CartSession_Ex();
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objCustomer = new SC_Customer_Ex();

$objFormParam->convParam();
// 数量未入力は0に置換
$objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));

$arrErr = $objFormParam->checkError();

$arrParams = $objFormParam->getSwapArray();

if (empty($arrErr)) {
foreach ($arrParams as $index => $arrParam) {
// 数量0で、お届け先を選択している場合
if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。';;
}
// 数量の入力があり、お届け先を選択していない場合
if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
$arrErr['shipping'][$index] = '※ お届け先が入力されていません。';
}
}
}

if ($objCustomer->isLoginSuccess(true) && SC_Utils_Ex::isBlank($arrErr)) {
$deliv_check_flg = true;
foreach ($arrParams as $index => $arrParam) {
if ($arrParam['shipping'] != 0) {
$deliv_check = $objQuery->count('dtb_other_deliv','other_deliv_id = ? AND customer_id = ?', array($arrParam['shipping'], $objCustomer->getValue('customer_id')));
if ($deliv_check < 1) {
$deliv_check_flg = false;
break;
}
}
}

if (!$deliv_check_flg) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
exit;
}
}
====================================================================
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
====================================================================
▽2.11.0~2.11.1のバージョンは以下を参考下さい
--------------------------------------------------------------------
▽LC_Page_Shopping_Multiple.php::lfCheckError
209行目付近を変更下さい。
--------------------------------------------------------------------
変更前
--------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objFormParam->convParam();
return $objFormParam->checkError();
}
-------------------------------------------------------------------

-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
function lfCheckError(&$objFormParam) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objCustomer = new SC_Customer_Ex();
$objFormParam->convParam();
$arrErr = $objFormParam->checkError();

$arrParams = $objFormParam->getSwapArray(array('shipping'));

if ($objCustomer->isLoginSuccess(true) && SC_Utils_Ex::isBlank($arrErr)) {
$deliv_check_flg = true;
foreach ($arrParams as $index => $arrParam) {
if ($arrParam['shipping'] != 0) {
$deliv_check = $objQuery->count('dtb_other_deliv','other_deliv_id = ? AND customer_id = ?', array($arrParam['shipping'], $objCustomer->getValue('customer_id')));
if ($deliv_check < 1) {
$deliv_check_flg = false;
break;
}
}
}

if (!$deliv_check_flg) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
exit;
}
}

return $arrErr;
}
==================================================================







詳細はこちらこちら




応援クリックをお願いします。
にほんブログ村 IT技術ブログ ネットワーク・SEへブログ王ランキングに参加中!

Sleipnir Mobile for Android に位置情報漏えいの脆弱性(JVN#81637882)

2014.01.23 (Thu)
Sleipnir Mobile for Android には、
位置情報漏えいの脆弱性が存在することを公表した。


■内容

Sleipnir Mobile for Android には、
Geolocation API の取扱いに問題があり
位置情報漏えいの脆弱性が存在する。

ユーザの確認なしに、ユーザの位置情報が
閲覧中のウェブサイトに送信される可能性がある。






■影響を受けるバージョン

・Sleipnir Mobile for Android 2.12.1 およびそれ以前

・Sleipnir Mobile for Android Black Edition 2.12.1 およびそれ以前



■対処方法

アプリストアより、
最新版へアップデートする。



詳細はこちら


応援クリックをお願いします。
にほんブログ村 IT技術ブログ ネットワーク・SEへブログ王ランキングに参加中!

 | HOME |  Next »