insecure tempfile problem

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
2003年 5月 9日 (金) 06:41:18 JST


teranisi @ gohome.org (Yuuichi Teranishi) writes:
> GNU coding standard が TMPDIR を優先することを推奨してるのは、
> /tmp に集中するのを避けるという意味合いが大きいのでしょうかね…。

これはそんなことはないと思っています.
TMP, TEMP, TMPDIR といったよく使われていた(?)環境変数名の中で TMPDIR が
temporary directory を表わすのに一番適切だと判断したのではないかと.


> それはさておき、TMPDIR や temporary-file-directory は、ユーザに
> とって安全な場所に設定するべきである、という規定はないと思うので、

「規定」はないですが, /tmp が危険な場所であるというのは少なくとも 5 年は
前から言われていることです. (GCC の security hole などの話題がその頃か?)

個々のアプリケーションが注意深く /tmp を使うのと /tmp に代わる安全な場所
を確保してアプリケーションにそちらを使わせるのとどちらがより根本的な解決
だと思われますか? 私は後者の方が単純確実だと思っているので, 自分に出来る
範囲で, この手の話題が出るたびに 「TMPDIR や temporary-file-directory を
安全な場所に設定しておけば問題ないよね」と繰り返し書いてきたつもりです.

  Emacs 20 を使っているならば, いくら個々のアプリケーションが対応しても,
  `call-process-region' という広く使われている関数が一時ファイルを安全で
  はない方法で(デフォルトでは) /tmp に作成するので, 安全な場所を確保して
  TMPDIR に指定しないと(複数人で使用している環境では特に)問題があります.
  Emacs 19 やそれ以前では回避策はありません.


> 一般に、temporary-file-directory は安全な場所に設定されていないことを
> 想定しておくに越したことはないんじゃないでしょうか。

こちらの方向で対策を行なおうという人は残念ながら今まで出てこなかったと.
;; 何かこの手の話題で上野さんが即座に対応してくれた記憶はありますが...

-- 
Shuhei KOBAYASHI




More information about the Emacs-mime-ja mailing list