FreeBSD 7.0 セキュリティパッチの適用方法
バージョン7.0以降のFreeBSDで、ローカルでルート権限が使用される脆弱性が発見されました。
BIG-server.comでは、緊急にFreeBSD 7.0以降のOSを使用しているサーバーにセキュリティパッチを適用し、
全サーバーでローカルからルート権限を使用できないよう対策しました。
今回のセキュリティパッチの適用方法をご案内いたします。
1、セキュリティパッチの取得
今回のセキュリティパッチは以下のURLで公開されています。
FreeBSD Security Advisory FreeBSD-SA-09:16.rtld
http://docs.FreeBSD.org/cgi/mid.cgi?200912030930.nB39UhW9038238
セキュリティパッチへのリンク
http://security.freebsd.org/patches/SA-09:16/rtld7.patch
このセキュリティパッチを /usr/src に置いてください。
# cd /usr/src
# fetch http://security.freebsd.org/patches/SA-09:16/rtld7.patch
|
2、/usr/src/libexec/rtld-elf にある rtld.c にパッチを適用する
以下のコマンドでセキュリティパッチを適用してください。
# patch < rtld7.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: libexec/rtld-elf/rtld.c
|===================================================================
|--- libexec/rtld-elf/rtld.c
|+++ libexec/rtld-elf/rtld.c
--------------------------
Patching file libexec/rtld-elf/rtld.c using Plan A...
Hunk #1 succeeded at 358.
done
#
|
/usr/src/libexec/rtld-elf に rtld.c と rtld.c.orig が作成されるので、
diff コマンドでパッチが適用されている事を確認してください。
# cd /usr/src/libexec/rtld-elf
# diff rtld.c rtld.c.orig
361,366c361,365
< if (unsetenv(LD_ "PRELOAD") || unsetenv(LD_ "LIBMAP") ||
< unsetenv(LD_ "LIBRARY_PATH") || unsetenv(LD_ "LIBMAP_DISABLE") ||
< unsetenv(LD_ "DEBUG")) {
< _rtld_error("environment corrupt; aborting");
< die();
< }
---
> unsetenv(LD_ "PRELOAD");
> unsetenv(LD_ "LIBMAP");
> unsetenv(LD_ "LIBRARY_PATH");
> unsetenv(LD_ "LIBMAP_DISABLE");
> unsetenv(LD_ "DEBUG");
#
|
3、バイナリを更新する
バイナリの更新を確認するため、/libexec にある ld-elf.so.1 の日付を確認してください。
# ls -l /libexec
-r-xr-xr-x 1 root wheel 171656 Mar 31 2009 ld-elf.so.1
#
|
/usr/src/libexec/rtld-elf で、make を実行してください。
# make obj && make depend && make && make install
/usr/obj/usr/src/libexec/rtld-elf created for /usr/src/libexec/rtld-elf
rm -f .depend
mkdep -f
(省略)
/usr/libexec/ld-elf.so.1 -> /libexec/ld-elf.so.1
#
|
make コマンドを実行後、再度 /libexec にある ld-elf.so.1 を確認してください。
更新前のファイルは ld-elf.so.1.old にリネームされています。
# ls -l /libexec
-r-xr-xr-x 1 root wheel 172200 Dec 3 18:54 ld-elf.so.1
-r-xr-xr-x 1 root wheel 171656 Mar 31 2009 ld-elf.so.1.old
#
|
ld-elf.so.1 が make を実行した時間、ld-elf.so.1.old が元のld-elf.so.1ファイルの時間
になっている事を確認してください。
以上でセキュリティパッチの適用は完了です。
ご質問などございましたらお気軽におい問い合わせください。
server@maido3.com
BIG-server.com
