2009年12月04日 16:00 [Edit]
#FreeBSD - local r00t zeroday の対策
全くその通りなのですが...
Geekなぺーじ : うぉ。。。FreeBSDゼロデイ。。。こういうのがあるから怖いですね。。。 exploit実証コードがセキュリティアップデートが普及する前に配布されてしまったので、ご注意下さい。 対処はお早めに。。。
具体的な対策が書いていないので対策方法を。
freebsd-update
RELEASEをそのまま使っている人は、こちらを。
の仮想マシン上のFreeBSDもこれで直ります。
# freebsd-update fetch Looking up update.FreeBSD.org mirrors... 3 mirrors found. Fetching public key from update4.FreeBSD.org... done. Fetching metadata signature for 8.0-RELEASE from update4.FreeBSD.org... done. Fetching metadata index... done. Fetching 2 metadata files... done. Inspecting system... done. Preparing to download files... done. Fetching 6 patches.... done. Applying patches... done. Fetching 2 files... done. The following files will be updated as part of updating to 8.0-RELEASE-p1: /etc/mtree/BSD.var.dist /libexec/ld-elf.so.1 /usr/lib/libssl.a /usr/lib/libssl.so.6 /usr/sbin/freebsd-update /usr/src/etc/mtree/BSD.var.dist /usr/src/libexec/rtld-elf/rtld.c /usr/src/sys/conf/newvers.sh /usr/src/usr.sbin/freebsd-update/freebsd-update.sh /var/db/freebsd-update /var/db/mergemaster.mtree # freebsd-update install Installing updates... done.
STABLE
継続的に使っている人はこちらでしょう。私の場合、一番古いインスタンスではFreeBSD-2.xから続いている由緒正しい方法です。
RELEASEをSTABLEにした人は、日本時間の12月02日以降であれば直っているはずです。
% ls -l /usr/src/libexec/rtld-elf/rtld.c 27 -rw-r--r-- 1 root wheel 96244 Dec 1 11:59 /usr/src/libexec/rtld-elf/rtld.c
ついでなので、STABLEを入手してインストールする方法も以下に。詳しくは
をご覧下さい。
- ソースを入手
csup -h cvsup.jp.freebsd.org /usr/share/examples/cvsup
- buildworld
chdir /usr/src/ \ && nohup /usr/bin/time -l make -j8 -DNOPROFILE=true buildworld \ |& tee /var/log/buildworld.log
- buildkernel
chdir /usr/src/ \ && nohup /usr/bin/time -l make -j8 -DNOPROFILE=true KERNCONF=GENERIC buildkernel \ |& tee /var/log/buildkernel.log
- installkernel
chdir /usr/src/ \ && nohup /usr/bin/time -l make -DNOPROFILE=true KERNCONF=GENERIC installkernel \ |& tee /var/log/installkernel.log
- installworld
chdir /usr/src/ \ && nohup /usr/bin/time -l make -j8 -DNOPROFILE=true installworld \ |& tee /var/log/installworld.log
- 再起動
/sbin/shutdown -r now
- mergemasterで/etc以下を修正
mergemaster
確認方法
うまく直っていれば、
にあるexploit codeはALEX-ALEXまで行かず、
/libexec/ld-elf.so.1: environment corrupt; missing value for /libexec/ld-elf.so.1: environment corrupt; aborting
で止まります。
最後に
Safe Hex!
Dan the FreeBSD Advocate
Posted by dankogai at 16:00│Comments(2)│TrackBack(0)
この記事へのトラックバックURL
この記事へのコメント
いつもソフトウエアについて、親切に教授してくださってありがとうございます。
では、また来月。
来年になったら、継続的にコメント入れさせてもらうと思います。
では、よいお年を。
では、また来月。
来年になったら、継続的にコメント入れさせてもらうと思います。
では、よいお年を。
Posted by enneagram at 2009年12月06日 10:44
> 0. ソースを入手
> csup -h cvsup.jp.freebsd.org /usr/share/examples/cvsup
は
csup -h cvsup.jp.freebsd.org /usr/share/examples/cvsup/stable-supfile
ではないでしょうか。
> csup -h cvsup.jp.freebsd.org /usr/share/examples/cvsup
は
csup -h cvsup.jp.freebsd.org /usr/share/examples/cvsup/stable-supfile
ではないでしょうか。
Posted by ef at 2009年12月07日 12:02