MovableType3.1x系にMT3.21用脆弱性パッチを適用するには

Posted by
ぴろり
Posted at
2006/10/01 03:35
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
MovableType カテゴリ
 先日、Six Apartから Movable Type 新バージョンとパッチの提供について、 XSS 脆弱性に関する 重要な告知 がありました。 これをうけて対策済みとなるバージョン 3.33 のパッケージと 3.2 用のパッチが提供されていますが、 一方でバージョン 3.1x に関する案内は一切ありませんでした。
  CNETでも取り上げられているあたりを見ると、未だ 3.151 で運用している当サイトとしても不安です。 少数ではありますが未だに 3.1x を使用されているサイトもあるわけですから、 今回のパッチを 3.1x に適用できないか調べてみました。

 今回の修正はバージョン 3.1x を使用されているサイト管理者にとっても重要なものです。 是非とも導入されるよう強くオススメします。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

背景

 MovableType 3.1x から 3.2 へバージョンアップが行われる際に、コメント欄などの安全性が高められました。 しかし今回指摘されているのはここにまだ穴が残っていたという点です。 ちなみに安全性が強化される前の 3.1x 系では、今回の脆弱性云々以前にザルな部分が多過ぎるので、 コメント欄での HTML の利用は絶対許可しないように管理画面から設定しないと危険です。  一応、コメント欄での HTML 使用を認めていない場合は大きな問題はありません。 しかし何かの拍子でこれを有効にした時、このセキュリティホールが再発しないようパッチを当てておくのが懸命です。

パッチの適用

  告知ページで公開されている 3.2ja2 → 3.21ja パッチ を MovableType のバージョン 3.1x 系に適用するための方法を示します。 なお、3.1x 系とは構造が大きく異なるファイルがあるので、 全部をそのまま上書きすると動作しなくなりますのでご注意ください。

3.2 用のパッチを別途わざわざ用意してくるあたり、 3.3 への移行を思い留まっているユーザが多いことを SixApart は認識しているのでしょうか…

lib/MT.pm
バージョン番号が変更されているだけですが、 3.1x から構造が大きく変化しているのでパッチは適用できません。
lib/MT/App.pm
__mode パラメータのサニタイズが強化されています。 3.1x から構造が大きく変化しているのでパッチは適用できません。
lib/MT/Sanitize.pm
数値参照に関するサニタイズが強化されています。 古いファイルにそのまま上書きしてください。
lib/MT/App/CMS.pm
管理画面の "Movable Type ニュース" で取得した HTML のサニタイズが強化されています。 ファイルをエディタなどで開き、 sub get_newsbox_content { 〜 } の部分を差し替えてください。
php/mt.php
バージョン番号が変更されているだけですが、 3.1x から構造が大きく変化しているのでパッチは適用できません。
php/lib/sanitize_lib.php
数値参照に関するサニタイズが強化されています。 構造が大きく変化しているのでパッチは適用できません。 そのため脆弱性は残ったままです。

 PHP でダイナミックパブリッシングを行っている場合については適用する方法を示せませんでした。 そのため、ダイナミックパブリッシングを使用している場合には、3.1x の持つ脆弱性はそのまま残ります。 静的パブリッシング(?)で運用をされているサイトであれば、 とりあえず、急いで lib/MT/Sanitize.pm だけでも差し替えておきましょう。 脆弱性への耐性はほぼ 3.33 並になります。 まだの方は是非。

ご注意

 上記の内容は私が個人的に調べた範囲で公開しているだけであって、 その内容の完全性や信頼性を保証するものではありません。 そのため、考え違いやチェック漏れによって脆弱性が残っている可能性は否定できません。 Six Apart の勧告に従って 3.33 あるいは 3.21 へ移行されるのが最良の策です。
この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  



関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。