From: Tanaka Akira Date: 2007-08-16T02:20:45+09:00 Subject: [ruby-dev:31431] Re: File exists - /tmp/bootstraptest.tmpwd In article <873ayk4tco.wl%fumiyas@osstech.jp>, SATOH Fumiyasu writes: >> というか、FileUtils.rm_rf で /tmp/bootstraptest.tmpwd を消す >> のって、セキュリティ的に問題がありますよね。 > > /tmp/bootstraptest.tmpwd 以下 (/tmp/bootstraptest.tmpwd も含む) > に他人 (信頼できないユーザー) が書き込めるディレクトリが > なければセキュリティの問題は発生しません。 添付したパッチ (ないしは bootstraptest/runner.rb) を読んでい ただければ分かると思いますが、現在のコードは、最初にとにかく /tmp/bootstraptest.tmpwd を削除する、というものになっていま す。 つまり、自分が作成したのでなく、他人があらかじめ作成したディ レクトリを削除しようとする可能性があります。 > また、「rm_rf」という名前から想像するに (実装は見てません)、 > シンボリックリンクは辿らないのではないかと思えるのですが、 > 違うのでしょうか? たどらないよう努力しているとは思いますが、シンボリックリンク じゃないと思った瞬間シンボリックリンクにすり変わる可能性が ある、というのが TOCTTOU 脆弱性でしょう。 -- [田中 哲][たなか あきら][Tanaka Akira]