glibc Local Root Exploit

まだ日本語訳も summary も出ていないので取り敢えずここにメモ。

sysdeps/generic/unsecvars.h に単純なミス。

環境変数 RESOLV_HOST_CONF の扱いがチェックされていないため、何でもファイルをダンプしてしまう。

検証は取り敢えず

export RESOLV_HOST_CONF=/etc/shadow

として、traceroute なり ssh なり setuid されたプログラムを実行してみればわかる。

see, bugtraq