[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rfr] webwml://security/1997/{19970323,19970325a,19970325b,19970407}.wml



いまいです。

From: SUGIYAMA Tomoaki <tomos@xxxxxxxxxxxxxxxx>
Subject: Re: [rfr] webwml://security/1997/{19970323,19970325a,19970325b,19970407}.wml
Date: Fri, 17 Sep 2004 22:58:25 +0900

> > - あるユーザがなんらかの特権を持ったグループに所属しているとして、そこ
> >   で得られる権限がサブプロセスにも適用されてしまう
> > - ある権限を与えられたグループに所属しているユーザが、サブプロセスに対
> >   してもなんらかの権限を持ってしまう
> > - それ以外

> 分からなかったので調べてみました。
> 
> 最初,google で「inetd 25 Mar 1997」を検索した結果の
> "Linux inetd port theft vulnerability" [1] を見ていたのですが,
> archive.org で件の "詳細" ページを検索してみたところ,見ることが
> できました [2]。それによると
> 
>  While we're at it: many inetds don't clear the groups list when they
>  start up, so that if you kill and restart inetd from your root shell
>  inetd subprocesses may inherit additional (probably privileged)
>  groups.

えーと、これだけ読むと 1 つ目のように思えます。例えば、(今は違うのかも
しれませんが) root ユーザは各種グループの権限を持っていますよね?で、

$ id root
(特権グループがずらり[1][2])
# kill `cat /var/run/inetd.pid`
# /usr/sbin/inetd

なんてやると、そのときの特権グループの権限を inetd が持ったままになっ
てしまって、inetd から起動される in.telnetd やら in.ftpd やら (今はあ
んまりそんなの動いてないでしょうけど ;) もそれらの権限を持ったままになっ
てしまう、と。

(私訳)
さらに言えば: 多くの inetd は起動時に所属グループのリストをクリアしま
せん。したがって、root のシェルから inetd を kill して再度起動した場合、
inetd のサブプロセスが余計な (おそらく特権を与えられた) グループを引き
継いでしまうかもしれません。

なので、19970325b.wml だと、

inetd passes privileged groups on to subprocesses
inetd がサブプロセスに特権グループ権限を渡してしまう欠陥

でしょうか。


 1. Debian GNU/Linux (sid)
$ id root
uid=0(root) gid=0(root) groups=0(root)

 2. FreeBSD 3.3-RELEASE (古い :)
> id root
uid=0(root) gid=0(wheel) groups=0(wheel), 2(kmem), 3(sys), 4(tty), 5(operator), 20(staff), 31(guest)
--
Nobuhiro IMAI <nov@xxxxxxxxxxxx>
Key fingerprint = F39E D552 545D 7C64 D690  F644 5A15 746C BD8E 7106