tDiary.org - 日記コミュニケーションを加速する


tDiaryの脆弱性に関する報告(2007-07-23)

Web日記支援システムtDiaryにおいて、脆弱性が発見されました。第三者が読者を任意のサイトに誘導できる危険性があります。以下の説明を読んで、早急な対応をお願いします。

対象

以下の条件をすべて満たす運用をしているtDiaryには、この問題が存在します。

  • 以下のいずれかのバージョンのtDiaryを使用している(xは任意)
    • tDiary 2.0.x
    • tDiary 2.1.x
  • makerss.rbプラグインもしくはwhatsnew-list.rbプラグインを使ってfeed(RSS)を生成している
  • IPアドレスさえ合っていれば、任意のホスト名でのアクセスが可能になっている(※)
  • tdiary.confにて、base_urlを指定していない

※例えばWebサーバのName-based Virtual Host機能などを使い、特定のホスト名を指定した場合のみアクセス可能な場合は安全です。試しに自分の日記に対し、URLのホスト名の部分をIPアドレスに置き換えても普通に表示されてしまう場合には、この脆弱性の対象になると考えて良いでしょう。

想定される影響

悪意ある第三者がツッコミをするだけで、任意のサイトを指すようなfeed(RSS)を生成してしまうことができます。これによりfeed経由で日記を購読している読者は、信頼しているサイトを参照するつもりで悪意のあるサイトに誘導されてしまいます。

対策

tdiary.conf1に、以下の3行を追加してください。「ここにあなたの日記のURLを記述」の部分は、あなたの日記のURLに置き換えます。なお、「ここにあなたの日記のURLを記述」の両側にある「’」は削除しないように注意してください。

def base_url ‘ここにあなたの日記のURLを記述’ end

設定ファイルに上記のような記述をするだけで対策できるため、このための修正は提供しません。ただし、より簡単に対策できるような機能を含んだバージョンを、近い将来リリースする計画はあります(次期安定版を想定しています)。

連絡先

本脆弱性に対する連絡は、ただただしsho@spc.gr.jpまでお願いします。

特に新たな脆弱性の指摘などは、本記事に対するコメントなどでいきなり公にするのではなく、E-mailにてお知らせくださいますよう、お願いいたします。

謝辞

本脆弱性情報は、下記の方から直接報告を受け、対応しました。ご指摘に感謝します。

takayamaさん http://sho.tdiary.net/20070722.html#c04

脚注

  1. 日記の設置時に自分で編集したtdiary.confです。@data_pathに生成されている方ではありません。