MovableTypeに脆弱性が発見されました

Movable Type Publishing Platform: 【重要】 第三者による不正アクセスを許す危険性の対策について

【重要】 第三者による不正アクセスを許す危険性の対策について

Movable Type(ムーバブル・タイプ)の脆弱性により、第三者による不正なアクセスが可能であることが確認されました。

ざーとまとめると、こういうことなのだそうです。

  1. Cookieをゲトした悪人が/mt/mt.cgiにアクセスできるとマズいかも
  2. Cookieをゲトした悪人が/mt/mt-xmlrpc.cgiにアクセスできると(略)
  3. Cookieをゲトした悪人が/mt/mt-atom.cgiに(略)

mt.cgiはいつも使ってるのでわかりますけど、後半2つのCGIは触ったことすらないので何に使うのか知りません。でもとにかく危険なんだそうです。へえ。それじゃ対策しましょうか。

■追記(05/14)
多くのブログを見た後、これは脆弱性ではないと考えるようになりました。詳細はこちらにまとめています。

mt.cgiへのパスはトラックバックPing先CGIパス(/mt/mt-tb.cgi)やコメント先CGIパス(/mt/mt-comments.cgi)などから簡単に推測することができるから(この場合だと/mt/mt.cgi)、mt.cfgを修正して格納先を別のところに変えましょう、ということなのだそうな。

6月上旬には対策済みのバージョンがリリースされるということなのですが、AdminCGIPathを設定してうんぬん~~っていうのはなんだか骨の折れる対応方法っぽいので(少なくともlib/、extlib/、mt.cfgをコピーしなきゃ動かないと思う)、さらっと対策してしまうことにします。完璧な対策からは程遠いですけど、それなりに有効なアプローチになるのではないかと。

まずmt-xmlrpc.cgiとmt-atom.cgiは使わないと思われるので、迷うことなく実行権限を剥奪。いつかきっと使う日が来るまで、さらばじゃ。おりゃ。

# ls -la mt-xmlrpc.cgi mt-atom.cgi
-rwxr--r-- 1 apache apache 738 Sep 22 2004 mt-atom.cgi*
-rwxr--r-- 1 apache apache 809 Sep 22 2004 mt-xmlrpc.cgi*
# chmod 644 mt-xmlrpc.cgi mt-atom.cgi
# ls -la mt-xmlrpc.cgi mt-atom.cgi
-rw-r--r-- 1 apache apache 738 Sep 22 2004 mt-atom.cgi
-rw-r--r-- 1 apache apache 809 Sep 22 2004 mt-xmlrpc.cgi

次にmt.cfgを開いてAdminCGIPathを追記して~ってのはやらずに、mt.cgiのファイル名を変更します。

# mv mt.cgi hogefuga.cgi

で、次からは/mt/mt.cgiの代わりに/mt/hogefuga.cgiにアクセスして管理すればいいんじゃないですかね?mt.cfgをいじってあれこれやるより、遥かに短時間で設定が済むような気がします。

まだ気になるようなら.htaccessでBASIC認証させたりもできますが、クイックポスト(Bookmarklet)が使えなくなるのであまりスキじゃありません。あとはSSL対応とかクライアント証明書でアクセス制限とか、好きなだけ強化すればいいような。

そうそう、ファイル名を変更したらクイックポスト(Bookmarklet)に登録されてるパスも変えないとエラーが出ます。忘れずに変えとくのがいいと思います、せんせー。


■追記(05/12)
これだけだと、管理画面左上の管理画面トップへのリンク先(MovableTypeのロゴ)がmt.cgiのままだ...。これは「tmpl/cms/header.tmpl」の20行目~22行目を以下のように変えれば問題なさそうです。

■before
<div id="topnav-img"><h1><a href="<TMPL_VAR NAME=MT_URL>"><img alt="Movable Type" src="<TMPL_VAR NAME=STATIC_URI>images/topnav-logo.gif" width="224" height="66" border="0" /></a></h1></div>

<TMPL_VAR NAME=MT_URL>

■after
<div id="topnav-img"><h1><a href="<TMPL_VAR NAME=SCRIPT_URL>"><img alt="Movable Type" src="<TMPL_VAR NAME=STATIC_URI>images/topnav-logo.gif" width="224" height="66" border="0" /></a></h1></div>

<TMPL_VAR NAME=SCRIPT_URL>

その他、コメント通知メールやトラックバック通知メールのリンクも修正する必要あるかもしれないけど、あくまでも暫定対応しかするつもりはないのでこれで十分だと思います。

※↑の対応方法、正しくなかったみたいです。(05/14追記)

mt.cfgの333行目付近にある「AdminScript」にリネーム後のファイル名を書いとけば、わざわざテンプレートをいじらなくてもいい(MT_URLにリネーム後のファイル名が反映される)ことに気づきました。もうテンプレいじっちゃった人、ごめん。ドキュメントしっかり読んでない僕がわるうござんした。

こんな感じに修正すりゃいいです。

■before
# AdminScript mt.pl

■after
AdminScript hogefuga.cgi

■追記(05/13)
下記のサイトで、セキュリティ対策に関する非常に丁寧な解説がありました。

MT hxxks - MT をインストールしたら真っ先に行うべきセキュリティ対策

検索結果のテンプレート(search_templates/default.tmpl)に記述された<$MTEntryEditLink$>にリンクがあるとのことですが、調べてみたらリネーム前のmt.cgiのままになってますし、ログインしてない人には表示されないみたいですので、とりあえず放置の方向で問題ないと思います。

※↑この認識もちょっとアレな感じです。(05/14追記)
上記修正のようにAdminScriptを設定したら、<$MTEntryEditLink$>はしっかりリネーム後のURLになっていました。ガーン。それじゃあ<$MTEntryEditLink$>はやっぱり消した方がええのんか?というと、結論としてはやっぱり放置で問題ないと思います。

そもそも<$MTEntryEditLink$>はログイン時にのみリンク表示されるものなんですから、Cookieを悪用してログインしようとしてる人にとっては検索画面でリンクが見えようが見えまいが、すでにリネーム後のmt.cgiのパスはわかっています。つまり「今さら隠しても遅いぜ」状態だと思いますので。

トラックバック(9)

このブログ記事を参照しているブログ一覧: MovableTypeに脆弱性が発見されました

このブログ記事に対するトラックバックURL: http://monolog.spanstyle.com/mt/mt-tb.cgi/233

コメント・トラックバックテスト用ブログ - コメント・トラックバックテスト用ブログ (2005年5月13日 02:15)

これはテスト用エントリです。 続きを読む

 だいたいのMovableTypeユーザの方ならご存知かと思いますが、致命的なセキュリティホールがあることが確認されました。  パッチが早々に公開されるとは思い... 続きを読む

MTの管理画面の右はじにこんなアナウンスが。 【重要】 第三者による不正アクセ... 続きを読む

新妻blog(もう新妻じゃないけど) - Movable Typeの脆弱性 発覚! (2005年5月13日 10:29)

とうとう出ちゃいましたよ:14: 【重要】 第三者による不正アクセスを許す危険性... 続きを読む

これを見てすぐに対応しなければと思い解説... 続きを読む

Movable typeに新たな脆弱性が確認されたそうです。これは、第三者がCookieの値を取得し、なおかつmt.cgiのパスが分かれば、第三者による不正なア... 続きを読む

第三者による不正アクセスを許す危険性の対策について (movabletype.j... 続きを読む

もし Cookie が漏洩したらという前提の話ですが、第三者が Cookie を入手した場合、それはログインしている状態と変わりません。 リネーム前のmt.c... 続きを読む

5月12日にシックス・アパート株式会社から公開されたMovable Typeの脆... 続きを読む

コメント(7)

はじめまして!MTのTBから飛んできました。
MTが薦める対策方法よりも手軽で効果的な気がして、ぜひこちらを活用させていただこうと思いました。
いい情報を教えていただきありがとうございました。

たびたびすみません。
トラックバックを打たせていただいたところエラーになってTBできませんでした。上記対策との影響かもしれないと思い、そちらでの参考になればと念のため報告させていただきますネ。
ちなみにエラー理由はfailed: HTTP error: 500 Can't connect うんぬんでした。

はじめまして。こんな記事でもお役に立てましたでしょうか?

shunさんの書き込みを見て「なぬ?そりゃあ大変だ!」と慌ててLivedoorブログを開設し、このサイトと正常にトラックバック送受信できるのか試してみました。結果は以下の通りです。

Livedoor→このサイトへのTB:OK
このサイト→LivedoorへのTB:OK

次に、shunさんのサイトへもトラックバック送信してみました。

このサイト→shunさんへのTB:NG(HTTP error: 500 Internal Server Error)
shunさん→このサイトへのTB:NG(HTTP error: 500 Can't connect)←アレ?

おお、このサイトからのトラックバックもダメみたいです。

このサイトが動いてるサーバでは複数のMTを動作させているんですが、さらにそれらのMT(Ver 2.661)とこのサイトとでトラックバックの送受信をしてみたところ、全て正常終了しました。

つことは、どうやらshunさんの方でだけ不具合が出ているみたいです。トラックバック関連のプラグインが悪さをしているのかもしれませんが、これ以上はなんともわかりませぬ。

力になれなくてごめんなさい。トホ。

ishiiさん、レス&当ブログまでお越し頂きましてありがとうございます~!
夜中なのにお手数おかけしてしまって、ごめんなさいでした=3

うちのコメントスパム対策やTBスパム対策が影響していたのかもしれないです。
でも・・・試しに今、トラックバック打たせて頂いたら、なんと無事TBできましたヽ(´ー`)ノ!
昨夜はなんだったんでしょう・・・大変お騒がせしてホントごめんなさいでした。

色々お手数おかけしました。いい情報教えていただきありがとうございました♪

初めて投稿させていただきました。
私もTBさせていただきましたが初めはエラーで帰ってきましたが今はうまくいきました。
いろいろ参考になります。
ありがとうございました。

初めまして。TBしたmdです。
とても参考になりました。
ありがとうございます。

TB・コメントしていただいた方々、ありがとうございました。僕が加賀屋で楽しくホッピーを飲んでいる間にも世の中は大きく動いていたようで、気がついたらなんか沈静化してますね。

技術的なことはほとんど書かないブログなのに、軽い気持ちで久々に書いてみたらものすごいTBやコメントを頂いてしまい、びっくりしてます。

いやー、ウェブって本当にすばらしいですね。(By 水野晴郎)

このサイトについて

自分用リンク

Powered by Movable Type 4.22-ja

PR

このブログ記事について

このページは、ishiiが2005年5月12日 21:32に書いたブログ記事です。

ひとつ前のブログ記事は「カコカコ」です。

次のブログ記事は「それは脆弱性じゃないと思います、せんせー。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アイテム

  • swfobject.png
  • symfony.png
  • doclean.png
  • clean.png
  • twitterui.png
  • php5.2.8-warning.png
  • pagesaver.png
  • analytics.png
  • Munsell Hue Test.png
  • Munsell Hue Test0.png