【2016/07/15 07:50更新】 2016年7月14日に判明した脆弱性への対応方法

2016年7月14日、
CS-Cartスタンダード版、マーケットプレイス版 v4.0.1以上のすべてのバージョン
において、
管理画面用ファイル名が判明している場合に第三者に管理画面にアクセスされてしまう
脆弱性が判明しました。

 

緊急措置として以下の対策を実施してください。

[2016/07/15 07:50 更新] CS-Cartマーケットプレイス版をお使いの場合に必要な対策「STEP04. fn.users.php の修正」を追加しました。
 

CS-Cartサーバープラン をご利用のお客様については、すでに対策済みのため作業は不要です。
(サーバー上にテスト環境を構築している場合は、テスト環境にも app/controllers/common/auth.pre.php が存在するか確認してください。存在しない場合は以下の対策を実施する必要があります。)

※ 2016年7月15日以降に cs-cart.jp よりダウンロードしたCS-Cartについては対策済みのため対応は不要です。


 

STEP01. CS-Cartのバージョン確認

 

以下のURLを参照のうえ、ご利用中のCS-Cartのバージョンを確認してください。
http://tips.cs-cart.jp/check-version.html
v4.0.1-jp-1以上の場合は、STEP02以降の対策が必要です。

 

STEP02. パッチファイルの入手および解凍

 

パッチファイル をダウンロードし、解凍してください。
※ 解凍後のパッチファイル名は auth.pre.php となります。

 

STEP03. パッチファイルのアップロード

 

STEP02で解凍したパッチファイル auth.pre.php を、サーバー上にインストールしたCS-Cartの  app/controllers/common ディレクトリにアップロードしてください。

 

STEP04. (マーケットプレイス版のみ) fn.users.php の修正

 

CS-Cartマーケットプレイス版をご利用の方は、
 app/functions/fn.users.php をFTPクライアントソフトなどでお使いのPCなどにダウンロードし、
fn_check_user_type」関数内に記述されている
$u_type = !empty($user_data['user_type']) ? $user_data['user_type'] : $current_user_data['user_type'];
の下に以下を追加し、サーバーにアップロードしてください。
 $auth_user_type = isset($_SESSION['auth']['user_type']) ? $_SESSION['auth']['user_type'] : null;
 if ($u_type == 'A' && $auth_user_type != 'A') {
  return $current_u_type;
 }

 ※ fn.users.phpの修正方法が分からない場合は、 こちら からお問い合わせください。

 

STEP05. 管理画面URLの変更

 

CS-Cart管理画面用ファイル名を admin.php のままで運用している場合は、こちら を確認のうえ、管理画面アクセス用ファイルの名称を変更してください。

 

本脆弱性への対策が完了していないCS-Cartは、今後攻撃を受け顧客情報の漏洩などの深刻な被害を被る可能性があります。
お手数ですが早急な対応をお願いいたします。