Movable TypeにPHP実行の脆弱性、8.8.7で修正

シックス・アパートは
脆弱性の概要
- 対象
- CMS
- 悪用
- 確認されていない
- 影響
- 外から PHP コードを実行される
- 修正版
- 修正版あり
- 公表元
- シックス・アパート / JVN
| 製品 | 対象のバージョン | 修正版 |
|---|---|---|
| Movable Type 8.8系(Advanced 含む) | 8.8.6 以前 | 8.8.7 |
| Movable Type 8.0系(Advanced 含む) | 8.0.13 以前 | 8.0.14 |
| Movable Type Premium 2系(Advanced Edition 含む) | 2.18 以前 | 2.19 |
| Movable Type 8.4系(Advanced 含む)・Movable Type 7 | サポート終了 | 修正版の対象外 |
製品の履歴:Movable Typeの脆弱性一覧公表されたらすぐ通知を受け取る
やること
シックス・アパートは11月11日に、Movable Type の修正版を公開しました。JVN も同じ日に、ダイナミックパブリッシング機能にコードインジェクション(外から送り込んだプログラムを動かされる欠陥)の脆弱性があると公表しています。次の修正版へ更新してください。
- Movable Type は 8.8.7 と 8.0.14 です
- Movable Type Premium は 2.19 です
10月の脆弱性(Movable Typeに外からコード実行の脆弱性、CVSS 9.3)で 8.8.6 や 8.0.13 に上げたサイトも、今回の対象に入ります。
開発元は環境変数 DynamicTemplateAllowPHP を 0 にして、テンプレートの中の PHP コードを動かさないようにすることも勧めています。Movable Type の環境変数は mt-config.cgi に書く設定で、DynamicTemplateAllowPHP 0 の1行を足します。既定値は Movable Type 8 以前が 1(許可)、9 以降が 0(拒否)です。0 にすると、テンプレートに直接書いた {{php}} や <?php ?> の形の PHP コードは、ダイナミックパブリッシングで実行されなくなります。テンプレートに PHP を書いて動かしているサイトでは、その部分の動きを確かめてから設定してください。
ソフトウェア版を更新するときは、先にデータベースのバックアップを取ってください。開発元は今の場所に上書きせず、別のディレクトリへ入れる方法を強く勧めています。修正版はシックス・アパートのユーザーサイトから入手できます。年間メンテナンスが切れている場合は、メンテナンスか新しいライセンスの購入が要ります。
クラウド版の Movable Type 8(Premium を含む)は、自動アップデートを無効にしている環境も含めて、すべて更新が済んでいます。
何が危ないのか
ダイナミックパブリッシングは HTML ファイルを書き出しておかずに、閲覧のたびにサーバーの PHP でページを組み立てる方式です。JVN によると、攻撃者が細工したリクエストを送ると、サーバーの上で任意の PHP コードを実行されるおそれがあります。
CVSS は v4.0 で 6.9、v3.0 で 7.3 です。ネットワークから届き、ログインも利用者の操作も要らない評価です。開発元のお知らせと JVN には、悪用されたという記載はありません。
修正で変わる動き
修正版では、DynamicTemplateAllowPHP が 1 のときも、テンプレートを処理した結果に含まれる PHP コードを実行しないように変わりました。対象は MTInclude や MTWidgetSet などのタグと mteval モディファイア、404 などのエラーテンプレートで、一覧はリリースノートにあります。
ただし、サイトのインクルード方式が PHP で、MTInclude か MTIncludeBlock に ssi="1" を指定している場合は、修正後も実行されます。読み込むテンプレートで include_with_ssi が有効な場合も同じです。テンプレートに直接書いた PHP コードは、修正前と同じように実行されます。
8.8.7 で DynamicTemplateAllowPHP を 0 にしている場合は、修正前は実行されなかった処理結果の PHP コードが、上の例外に当たると実行されるようになります。
この修正で 8系の動きは Movable Type 9 と同じになり、ダイナミックパブリッシングのサイトの表示や動作が変わる可能性があると開発元は説明しています。
対象
JVN によると、影響を受けるのは Movable Type 8.8.6 以前と 8.0.13 以前(どちらも Advanced を含む)、Movable Type Premium 2.18 以前(Advanced Edition を含む)です。サポートが終わった 8.4系(Advanced を含む)と Movable Type 7 も影響を受けます。Movable Type 9 は影響を受けません。
8.0系は11月5日にサポートを終えたばかりで、今回は例外として修正版が出ました。8.4系と 7 は修正版の一覧にないので、修正版のある版へ移ってください。
PowerCMS の公式サイトの新着情報には、記事を書いた時点でこの件のお知らせは載っていません。
中小企業が学べること
同じ製品でも、使っている機能で影響の有無が変わります。今回はダイナミックパブリッシングの欠陥なので、制作会社には版だけでなく、公開の方式と mt-config.cgi の DynamicTemplateAllowPHP の値も聞いてください。
Movable Type は10月にも修正版が出ており、1か月で2回の更新が要りました。CMS の更新を誰が何日以内に行うか、更新後にどのページの表示を確かめるかを、保守の契約で決めておいてください。
自社で確かめること
- CMS の版と公開の方式自社サイトが Movable Type で作られているか、版はいくつか、ダイナミックパブリッシングを使っているかを、制作会社に問い合わせてください。
- DynamicTemplateAllowPHP の値mt-config.cgi に DynamicTemplateAllowPHP の行があるかと、その値を見てください。行がなければ、Movable Type 8 以前は 1 として動きます。
- 更新後の表示更新するとダイナミックパブリッシングのページの表示や動作が変わることがあるので、主なページと 404 などのエラーページを開いて確かめてください。
この製品を使っていますか
使っている製品に追加しておくと、新しい記事がトップと右の欄に出ます。






コメント 0
まだコメントはありません。