insecure tempfile problem
Tatsuya Kinoshita
tats @ vega.ocn.ne.jp
2003年 5月 8日 (木) 20:59:06 JST
On May 8, 2003, [Wanderlust:11856],
Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> wrote:
> call-process-region は region を temp file に書き出し, それを process に
> 渡すという実装になっています. その temp file の作成方法に問題があったと
> いうことです. これ以上は emacs/src/callproc.c 内の定義を比較してください.
> ;; 「mktemp() は使うな, mkstemp() を使え」とか「mktemp() を使わなければ
> ;; いけないならせめて O_EXCL を付けて open() しろ」といった有名な話です.
> TMPDIR を参照する temp-file-name-pattern が導入されたのが 20.1 でした.
なるほど。手元のソースを見てみると、Emacs 21.3ではmkstempを(あれ
ば)使っており、Emacs 20.7ではTMPDIRは見ているもののmkstempを使わ
ないまま(mktempを使って)Fwrite_regionしています。
> file mode も設定しているようには見えないけど大丈夫だろうか?
とりあえず、GNU C Library 2.0.7以降では、mkstempが0600にしてくれ
るようです。
--
木下達也
More information about the Emacs-mime-ja
mailing list