[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:15539] Re: Test package of xdvik-ja 22.40t-j1.12 is available
- From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
- Subject: [debian-devel:15539] Re: Test package of xdvik-ja 22.40t-j1.12 is available
- Date: Fri, 31 Jan 2003 19:03:54 +0900
- List-help: <mailto:debian-devel-ctl@debian.or.jp?body=help>
- List-id: debian-devel.debian.or.jp
- List-owner: <mailto:debian-devel-admin@debian.or.jp>
- List-post: <mailto:debian-devel@debian.or.jp>
- List-software: fml [fml 4.0.3 release (20011202/4.0.3)]
- List-unsubscribe: <mailto:debian-devel-ctl@debian.or.jp?body=unsubscribe>
- X-cite: xcite 1.46
- X-cite-me: 土
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-devel-ctl@debian.or.jp; help=<mailto:debian-devel-ctl@debian.or.jp?body=help>
- X-ml-name: debian-devel
- X-mlserver: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post)
- X-spam-level:
- X-spam-status: No, hits=-0.1 required=10.0 tests=IN_REP_TO,ISO2022JP_CHARSET,ISO2022JP_BODY,CASHCASHCASH, DOUBLE_CAPSWORD,US_DOLLARS_2,UPPERCASE_25_50,WEIRD_PORT version=2.31
- References: <20030131144512E.1000@xxxxxxxxxxxxxxxxxxxxxxx> <20030131.152821.104050710.kohda@xxxxxxxxxxxxxxxxxxxx> <20030131160153W.1000@xxxxxxxxxxxxxxxxxxxxxxx> <20030131.171138.78723231.kohda@xxxxxxxxxxxxxxxxxxxx>
- Message-id: <mpa4r7p4ovs.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- X-mail-count: 15539
- User-agent: T-gnus/6.15.14 (based on Oort Gnus v0.14) SEMI/1.14.3 (Ushinoya) FLIM/1.14.5 (Demachiyanagi) APEL/10.3 Emacs/21.2 (i386-debian-linux-gnu) MULE/5.0 (SAKAKI)
>> On Fri, 31 Jan 2003 17:11:42 +0900
>> kohda@xxxxxxxxxxxxxxxxxxxx (Atsuhito Kohda) said as follows:
>えーと Perl は理解できないので間違ってるかもわかりませんが,この続き
>も読まれましたか?
すみません,読み落してました.
BTS> Here is a simple test that illustrates my concern; you can try it out on
BTS> your system. First, create a world-writable directory and change to it.
BTS> Then, run the following Perl program:
BTS>
BTS> use File::Temp qw(tempfile);
BTS> ($fh, $filename) = tempfile("testXXXXXX", SUFFIX => ".dvi");
BTS> print "$filename\n";
BTS> scalar(<>);
BTS> open TEMP, ">", $filename;
BTS> print "Done\n";
BTS>
BTS> The program will create a temporary file, print its name, and wait for a
BTS> carriage return. Without hitting carriage return, open another window
BTS> and switch to an unprivileged user like nobody. As nobody, you should
BTS> be able to replace the temporary file by a symbolic link pointing at a
BTS> file owned by (and only writable by) your non-nobody account. If you
BTS> do so, then hit carriage return in the first window, you will overwrite
BTS> the file pointed to.
という部分ですね.
この攻撃が成立するためには,xdvi-pl が world-writable かつ sticky bit
が指定されていないディレクトリに,一時ファイルを作成する必要があります.
私の改変した xdvi-pl は,環境変数 TMPDIR で指定されたディレクトリ,ま
たは /tmp に対して一時ファイルを作成します.Debian では /tmp は,
$ ls -ld /tmp/
drwxrwxrwt 21 root root 4096 1月 31 18:23 /tmp/
となっているはずですから,sticky bit の効果により,権限を持っていない
ユーザーは symbolic link を作ることができず,攻撃は失敗するはずです.
つまり,言い換えれば,コマンドの tempfile を利用している xdvi-sh と同
じ程度には安全,ということです.
BTS に投稿されているパッチから想像すると,旧 tetex-bin 付属の xdvi-pl
は,current working directory に一時ファイルを作成していたようですから,
この攻撃が成功する可能性があったのでしょう.
;; tempfile を呼び出すときに,DIR を指定せずに template を指定すると,
;; そうなってしまうようです.
というわけで,一応,安全だと判断して良いと思いますが,どうでしょうか.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )