5.13、5.07、4.38 リリースノート
Movable Type 5.13、5.07、4.38 はセキュリティアップデートです。Movable Type 5.12 および、5.06、4.37、4.292 を含む以前のバージョンには、クロスサイト・リクエスト・フォージェリ(CSRF)、クロスサイト・スクリプティング(XSS)、OSコマンドインジェクション、セッションハイジャックの脆弱性が存在します。これらの脆弱性は、シックス・アパート株式会社による内部的なセキュリティレビューの結果、発見された問題点です。
セキュリティアップデートで修正された脆弱性
- Movable Type の mt-wizard.cgi および同梱されているテンプレートの一部に、クロスサイトスクリプティングの脆弱性が存在します。ユーザのウェブブラウザ上で任意のスクリプトを実行される可能性があります(JVN#49836527)。Trustwave 社よりレポート(TWSL2012-003)。
- コメント登録およびコミュニティ機能に、セッションハイジャックが可能となる脆弱性が存在します(JVN#20083397)。特定の条件において、遠隔の第三者によって、ユーザになりすまされる可能性があります。
- コメント登録およびコミュニティ機能に、クロスサイトリクエストフォージェリの脆弱性が存在します(JVN#70683217)。ユーザが、当該製品にログインした状態で悪意あるページを読み込んだ場合、設定を変更されたり、データを更新されたり、情報を閲覧されたりする可能性があります。
- Movable Type のファイル管理システムには、OS コマンドインジェクションの脆弱性が存在します(JVN#92683325)。管理画面にログインすることができ、かつファイルアップロードの権限を持つユーザによって、任意の OS コマンドを実行される可能性があります。
提供を開始するバージョン
2012年2月22日に公開された、以下の修正済みバージョンのいずれかに、必ずアップグレードしてください。
- Movable Type Open Source 4.38
- Movable Type Open Source 5.07
- Movable Type Open Source 5.13
- Movable Type 5.07 (Professional Pack, Community Pack を同梱)
- Movable Type 5.13 (Professional Pack, Community Pack を同梱)
- Movable Type Advanced 5.07
- Movable Type Advanced 5.13
アップグレード手順
以下のページからパッケージをダウンロードしてください。
- Movable Type 商用ライセンスをお持ちの方
- 個人ライセンス、MTOSをお使いの方
パッケージをダウンロードしたら、以下のページを参考に、アップグレード作業をおこなってください。
アップグレード後に必要な作業
Movable Type 5.13、5.07、4.38では、セキュリティ問題の修正のために、ウェブサイトおよびブログのテンプレートの一部を変更しています。主な修正箇所は、ブログあるいはコミュニティ掲示板にコメントするための、ユーザー登録とログイン認証に関するテンプレートです。以下のページを参考に、ブログのテンプレートの初期化をおこなってください。
テーマ制作者の方
以下のページを参考に、テンプレートをアップデートしてください。
プラグイン開発者の方
プラグインから、独自テンプレートを読み込んだり、管理画面でmt:Includeを利用している場合は、以下をご確認ください。
Movable Type 5.13、5.07、4.38 の変更点
バグ修正とケースの一覧
Movable Type 5.13、5.07、4.38 でのバグ修正、変更点の一覧は、以下のFogBugzページを参照してください。
セキュリティ修正にともなうテンプレートの修正点は、以下のページを参照してください。
Movable Type 5.13、5.07、4.38 での機能変更
Movable Type 5.13、5.07、および4.38では、以下の機能が変更されています。
mt:Include タグの file モディファイアの無効化と、AllowFileInclude 環境変数の追加
Movable Type 5.13、5.07、および4.38以降のバージョンでは、MTIncludeタグで外部ファイルを読み込む file="file_foo" モディファイアが標準では無効化されています。これはセキュリティ対策の一環です。テンプレート編集の権限だけをもつユーザーが、ファイルシステム上の任意のファイルを読み出せるのは問題であるためです。
以前のバージョンと同様に、MTIncludeタグで file="file_foo" モディファイアを使うためには、AllowFileInclude 環境変数 をmt-config.cgi に指定してください。
DeniedAssetFileExtensions に .pm .so .rb .htc を追加
Movable Type 5.11, 5.051, 4.361, および 4.291 以降で利用可能な環境変数、DeniedAssetFileExtensionsの既定の値に、 .pm .so .rb .htc を追加しました。mt-config.cgiで規定の値を上書きしている場合には、これらの値を追記することを推奨します。
Movable Type 5.13 の新機能
サポートするWebブラウザ
Movable Type 5.13 は、以下のWebブラウザをサポートしています。
- Internet Explorer 9
- Firefox 最新版
- Safari 最新版
セキュリティを強化するため、Movable Type 5.13に、以下の機能を新しく追加しました。
認証ロックアウト機能
Movable Type 5.13 に、認証ロックアウト機能を追加しました。Movable Typeにログインする時に、一定の回数以上、ユーザー名とパスワードを間違えると、ユーザーのアカウントがロックされます。これにより、ユーザーアカウントへの辞書攻撃などを防止します。
管理画面(mt.cgi)、コメント認証(mt-comment.cgi)およびコミュニティ(mt-cp.cgi)のへのログインが対象となります。ただし、外部認証によるログインは対象にふくまれません。詳しくは、以下のドキュメントを参照してください。
環境変数の追加
認証ロックアウト機能に関連して、以下の環境変数を追加しました。
開発者向け
ロックアウトが発生した場合、MTのシステムログに記録されます。また、不要になったロックアウトのデータは、ユーザーがログインに成功したとき、あるいはスケジュール処理(run-periodic-tasks)で自動的にデータベースから消去されます。スケジュール処理で消去するタイミングは環境変数 LockoutExpireFrequency で指定します。
開発者向けに、以下のコールバックが追加されています。
パスワードの検証ルール
Movable Type 5.13から、ユーザーがログインに利用するパスワードの条件を設定できるようになりました。以下の条件を指定できます。
- パスワードに、大文字に小文字の両方を含める。
- パスワードに、文字と数字の両方を含める。
- パスワードに、記号(!"#$%&'(\|))*+,-./:;<=>?@[\]^_`{|}~)を含める。
- パスワードの最低文字数(初期値は8文字)。
詳しくは、以下のドキュメントを参照してください。
MTテンプレートタグの追加
パスワード検証をコミュニティサイトで表示するために、以下のMTテンプレートタグを追加しました。
環境変数の追加
パスワード検証設定の環境変数を追加しました。以下の環境変数を設定ファイル(mt-config.cgi)に記述すると、管理画面と同様の設定をおこなえます。環境変数を指定した場合は、そちらが優先され、管理画面での指定は無視されます。
パスワードの暗号化方式の変更
Movable Type 5.13で、パスワード暗号化のハッシュ関数を変更しました。Movable Type 5.13以前のバージョンでは、パスワード先頭の8桁までしか識別しませんでしたが、Movable Type 5.13以降のバージョンでは、9桁以上も識別するようになります。
Movable Typeを以前のバージョンからアップグレードした場合に、ユーザ情報の編集画面に「セキュリティを強化するためにパスワードを変更してくだい」という通知文が表示されます。ユーザーがパスワードを変更すると、新しい暗号化方式が適用され、通知文が表示されなくなります。
この変更にともない、データベースの author_password のカラム長を60から124に変更しました。
その他の5.13の変更点
以上です。