insecure tempfile problem

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
2003年 5月 8日 (木) 20:25:44 JST


Tatsuya Kinoshita <tats @ vega.ocn.ne.jp> writes:
> call-process-regionのこと、よくわかっていません。あとで調べてみようかと
> 思います。(どのあたりを見ればよいか助言を頂けるとありがたい)

Yuuichi Teranishi <teranisi @ gohome.org> writes:
> call-process-region の問題というのを正確に把握できていないのですが、

call-process-region は region を temp file に書き出し, それを process に
渡すという実装になっています. その temp file の作成方法に問題があったと
いうことです. これ以上は emacs/src/callproc.c 内の定義を比較してください.
;; 「mktemp() は使うな, mkstemp() を使え」とか「mktemp() を使わなければ
;; いけないならせめて O_EXCL を付けて open() しろ」といった有名な話です.


> > (20.2 までは /tmp 決め打ちだったと思う. 21 から対策済みのはず)

う〜む, だいぶ記憶が間違っていたみたいです.
TMPDIR を参照する temp-file-name-pattern が導入されたのが 20.1 でした.

また, 21 でも HAVE_MKSTEMP が定義されない環境(どんな環境?)では何も変わっ
ていないように見えます(write-region で O_EXCL が使用可能になったので対処
できるはず). file mode も設定しているようには見えないけど大丈夫だろうか?

-- 
Shuhei KOBAYASHI




More information about the Emacs-mime-ja mailing list