【重要】6/22にZen Cart.comから出された脆弱性のパッチ適用について

Zen-Cart.Com の最新情報や Zen-Cart.JP のお知らせ
アバター
志田
記事: 526
登録日時: 2005/5/15 14:14
お住まい: 東京都
連絡を取る:

【重要】6/22にZen Cart.comから出された脆弱性のパッチ適用について

投稿記事by 志田 » 2009/6/24 11:16

志田です。連絡が遅くなってすみません。

Security Announcement - Zen Cart Support
http://www.zen-cart.com/forum/showthread.php?t=130161

こちらに新しい脆弱性パッチが出ているようです。

どうやらCSRF脆弱性に関するもののようです。
1.3.8とありますが、1.3.xで利用できるだろう、と書かれています。

wiltさんの文中の、「security through obscurity」についてちょっと調べてみたら、

What is "security through obscurity"
http://users.softlab.ntua.gr/~taver/sec ... ecur3.html

これは、内部コードを解析できないようにすれば、いかなるシステムもセキュアにできる、
たとえば、ID、PWが分からなければセキュアになる、

といった考え方なんだろうと思うのですが、

CSRF脆弱性は、ID, PWが分からなくても、悪意のユーザーが、
正規ユーザーの権限を使って管理画面を操作できるようにする
といった脆弱性なので、今回のパッチを出すことにした、といったことが書かれているようです。

なお、adminディレクトリを予測しにくい名前に変更している場合は本脆弱性による攻撃は困難になります。
(変更後のadminディレクトリの名前をなんらかの方法で知ることができれば攻撃可能)

いずれにしても、重大な問題になる可能性がありますので、必ず本パッチを適用してください。

CSRF脆弱性について詳しくはこちらを読んでみてください。

@IT:「ぼくはまちちゃん」 ――知られざるCSRF攻撃
http://www.atmarkit.co.jp/fsecurity/column/ueno/33.html

Zen Cart.JPとしても、このパッチを組み込み済みの日本語版Zen Cartのリリースをできるだけ早急に行います!
アークウェブ http:/www.ark-web.jp
きものリメイク comachi http://comachi-kimono.jp
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

Re: 【重要】6/22にZen Cart.comから出された脆弱性のパッチ適用について

投稿記事by 佐々木2号 » 2009/7/14 21:26

今回の脆弱性をついた攻撃を実行するスクリプトがネット上で公開されていることがわかりました。そのため今後被害が拡大する恐れがあります。

ZenCart.JPでは現在セキュリティパッチを適用したセキュリティアップデートを至急すすめております。これから24時間以内にリリースする予定です。

また今回確認されたスクリプトによる攻撃に対しては下記ページに書かれている対策が有効となりますので至急対応してください。
http://zen-cart.jp/zen-cart-v1.3.0.2-l1 ... tions.html
3. "/admin"のリネーム

"admin"フォルダーのリネームをすることでハッカーが管理者エリアに進入し難くします。

(以下の変更をする前に、ファイルをデータベースのバックアップをしましょう。)

A- admin/includes/configure.phpを開き、ノートパッドの様なエディターを使い、新しいadminのフォルダー名を/admin/の代わりに 変更しましょう。

この箇所を変更します(青字部分):

define('DIR_WS_ADMIN', '/admin/');
define('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_ADMIN', '/admin/');
define('DIR_WS_HTTPS_CATALOG', '/');

そしてこの箇所も(青字部分):

define('DIR_FS_ADMIN', '/home/mystore.com/www/public/admin/');
define('DIR_FS_CATALOG', '/home/mystore.com/www/public/');

B- Zen Carのt/admin/ ディレクトリーにFTPソフトかwebホスティングのファイルマネージャを使って、
  ディレクトリーをadmin/includes/configure.php.で行ったセッティングと合う様にリネームしましょう。

C-.htaccessファイルを使って管理者エリアを守りましょう。配置場所は/admin/includesの中です。(Zen Cartのバージョンが
   1.2.7かそれ以上の場合はすでにあります。)


更に管理画面側(上記変更をする前はadmin)にBASIC認証をかければ効力が高まります。
リキッドシステムテクノロジー株式会社
http://www.liquidst.jp
アバター
志田
記事: 526
登録日時: 2005/5/15 14:14
お住まい: 東京都
連絡を取る:

Re: 【重要】6/22にZen Cart.comから出された脆弱性のパッチ適用について

投稿記事by 志田 » 2009/7/15 08:02

本家から出ているセキュリティパッチ内のREADMEファイルに書いてある内容を中野さんが、翻訳してくれました。

パッチファイルは下記からダウンロードできます。
(日本語版として検証済みのパッチができて、本家と仮に内容が変わることがありましたら、紛らわしいので、このファイルは日本語版用途に書き換えておきます。)

http://www.zen-cart.com/forum/attachmen ... 1245902513

// ------------------------------------------------

h1. 説明


私たち(zen-cart.comコアメンバー)は、これまでZen Cartのセキュリティ強化策として、

"/admin"フォルダーをリネームすること

の重要性を強調し、Zen Cartの管理画面でも警告を出すようにしてきました。
(/adminフォルダーのリネームに関しては↑の佐々木さんの引用を見てください。)

そして最近、私たちはZen Cartの管理画面への不正アクセスを許す可能性のあるいくつかの脆弱性について報告を受けました。これらの脆弱性を使って不正アクセスを行うためには、攻撃者はZen Cartの管理画面の場所を知る必要があります。


"/admin"フォルダーのリネームは脆弱性対策として一定の効果がありますが、私たちはこの「隠ぺいによるセキュリティ向上」("Security through obscurity")は不十分であると判断し、そのため、脆弱性にソフトウェアレベルで対処するパッチをリリースします。

なおECソフトウェアのうち、Zen Cartだけが管理画面の「隠ぺいによるセキュリティ向上」("Security through obscurity")に頼っているわけではありません。



h2. Zen Cart 1.3.xへのセキュリティパッチのインストール方法

1. セキュリティパッチに含まれるファイル一覧

1. <YOUR ADMIN DIRECTORY>/includes/functions/extra_functions/security_patch_v138_20090619.php - NEW FILE
2. <YOUR ADMIN DIRECTORY>/includes/extra_configures/security_patch_v138_20090619.php - NEW FILE
3. <YOUR ADMIN DIRECTORY>/includes/autoloaders/config.security_patch_v138_20090619.php - NEW FILE
4. <YOUR ADMIN DIRECTORY>/includes/init_includes/init_security_patch_v138_20090619.php - NEW FILE
5. <YOUR ADMIN DIRECTORY>/includes/functions/html_output.php - ALTERED FILE

上記のファイルリストのうち"NEW FILE"と記されているファイルを、管理画面ディレクトリーの該当ディレクトリーにアップロードします。

注意:今回のセキュリティパッチに含まれているファイルのうち、上記で説明した以外のファイル、例えばHTMLファイルなどはアップロードする必要はありません。

※訳注
<YOUR ADMIN DIRECTORY>は、デフォルトでは「admin」です。
リネームしている場合はその名前に置き換えてください。

"html_output.php"ファイルは、該当ディレクトリーにすでに存在するはずです。
もしあなたが過去にこのファイルを修正していないのなら、元あったファイルを今回のパッチに付属している"html_output.php"で上書きしてください。何らかの修正しているのであれば、元のファイルを手作業で書き換える必要があります。とはいえ変更すべき箇所はわずかで、以下の通りです。


注意:"html_ouptut.php"というファイルは"<STORE>/includes/functions/"ディレクトリーにもありますが、これは別物で、あくまで管理画面ディレクトリーにあるファイルが対象です。


2. html_ouptut.phpファイルの修正方法

<YOUR ADMIN DIRECTORY>/includes/functions/html_output.php

ファイル修正は簡単です。しかし、修正をする前に、あなたが修正済みのhtml_output.phpのバックアップを取っておくことを忘れないでください。

エディターでファイルを開き、"zen_draw_form"ファンクションを探します。
ファンクションの最後の行は以下のようになっています。

return $form;

この行の直前に、以下の行を加えます。

$form .= '<input type="hidden" name="securityToken" value="' . $_SESSION['securityToken'] . '" />';

そしてファイルを保存します。


3. 変更をテストする

すべての作業が終わったら、テストします。管理画面にアクセスすることができ、何か表示がおかしなところがないかチェックしてください。

もし、問題があれば、html_ouput.phpファイルを、先ほどバックアップしておいた元のhtml_ouput.phpファイルで再び上書きし、セキュリティパッチからアップロードした4つのファイルを削除します。

このセキュリティパッチを使ううえでの質問や問題などがあれば、Zen Cartフォーラム(日本語版ではZen Cartコミュニティ掲示板)までお願いします。


h2. Zen Cartの旧バージョンについて

このセキュリティパッチは、Zen Cartの最新版である1.3.8のために作成し、テスト済みですが、それ以前の1.3.xでも動くでしょう。ただし、古いバージョンで完全に正しく動くとは保証できません(※Zen Cart日本語版としての検証は本日中に行います)。

1.2.x系を使っている人には、できるだけ早くアップグレードすることを推奨します。
しかし、今回のセキュリティパッチに含まれる以下のファイルは、

<YOUR ADMIN DIRECTORY>/includes/function/extra_functions/security_patch_v138_20090619.php

1.2.x系にも互換性があるので、1.2.x系の利用者は少なくともこのファイルをアップロードすべきです。

また、今回のパッチ以前にリリースされたパッチを適用済みであることを確認してください。
過去のパッチの詳細はZen Cartフォーラム(日本語版では「ダウンロードページ」)をご覧ください。

// ------------------------------------------------

もし、翻訳に間違いを発見した方がいらっしゃったら、ご指摘ください。

よろしくお願いします。
アークウェブ http:/www.ark-web.jp

きものリメイク comachi http://comachi-kimono.jp

“Zen-Cart.Com/JPからの情報” へ戻る