[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NetBSD Security Advisory 2003-011: off-by-one error inrealpath(3)
NetBSD セキュリティー勧告 日本語訳
=============================================================================
NetBSD Security Advisory 2003-011 (2003/08/04)
* off-by-one error in realpath(3)
=============================================================================
このメールは, netbsd-announce に流れた
Subject: NetBSD Security Advisory 2003-011: off-by-one error in realpath(3)
From: NetBSD Security Officer <security-officer@NetBSD.org>
Date: Mon, 4 Aug 2003 14:16:30 -0400
Message-Id: <20030804181630.GG21067@vex>
を、www.NetBSD.ORG 翻訳プロジェクトが日本語訳したものです。
(日本語訳は NetBSD-SA2003-011.txt,v 1.10 に基づいています)。
原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。
修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の
チェックを行なうには、原文を参照してください。
------------------------------- ここから ------------------------------------
NetBSD Security Advisory 2003-011
=================================
トピック: realpath(3) における「一つ違い (off-by-one)」エラー
(off-by-one error in realpath(3))
バージョン: NetBSD-current: 2003 年 8 月 4 日より前のソース
NetBSD 1.6.1: 影響あり
NetBSD 1.6: 影響あり
NetBSD-1.5.3: 影響あり
NetBSD-1.5.2: 影響あり
NetBSD-1.5.1: 影響あり
NetBSD-1.5: 影響あり
影響範囲: リモートからのバッファーオーバーランおよび、
root 権限の不正使用の可能性
(Possible remote buffer overrun/root compromise)
修正日: NetBSD-current: 2003 年 8 月 4 日
NetBSD-1.6 branch: 2003 年 8 月 5 日 (1.6.2 は修正ずみ)
NetBSD-1.5 branch: 2003 年 8 月 6 日
概要 - Abstract
===============
ライブラリー関数 realpath(3) に、1 バイトのバッファーオーバーラン
を引き起こす可能性のある、文字列操作の誤りが含まれていました。
realpath(3) は ftpd(8) などの重要性の高いネットワークデーモンで
使われているため、この弱点はリモートから悪用できる危険性があります。
注意: wu-ftpd サーバー (NetBSD のベースシステムには含まれていません) の
配布物にある realpath(3) に由来する関数には、同じエラーが
含まれています。この問題に関する情報は、ここ数日の間に
公開されており、wu-ftpd に対する悪用コードも公開されています。
おそらく、他のサービス用の悪用コードも存在するでしょう。
もし影響を受けるサービスを提供しているなら、至急修正パッチを
適用することをおすすめします。
技術的な詳細 - Technical Details
================================
http://www.kb.cert.org/vuls/id/743092
NetBSD ベースシステムにおいて、realpath(3) を使っているバイナリーは
次のとおりです。
/bin/systrace
/usr/libexec/ftpd (*)
/sbin/mount
/sbin/umount
/usr/sbin/mountd (*)
/usr/bin/ssh
/usr/sbin/sshd (*)
/usr/libexec/sftp-server (*)
/usr/sbin/bootpd (*)
(*) という印のあるバイナリーはネットワークインターフェースを
listen するため、弱点をリモートから悪用することが可能です。
回避方法と解決策 - Solutions and Workarounds
============================================
この弱点を修正するには、libc をアップグレードする必要があります。
次に示す手順は、ソースツリーを更新して libc バイナリーを再構築し、
新しいバージョンの libc をインストールすることで、libc を
アップグレードする方法を説明したものです。
ただし、次にあげるような静的にリンクされたバイナリーもすべて、
再構築しなければならないことに注意してください。
- - 1.5, 1.6 ベースのシステムにおける、/sbin および /bin 以下にあるバイナリー
- - NetBSD-current システムにおける、/rescue 以下にあるバイナリー
- - pkgsrc を使って構築した、静的にリンクされたバイナリー
また、libc をアップグレードしてからマシンを再起動しない場合は、
実行中のデーモンを再起動する必要があります。
* NetBSD-current:
2003 年 8 月 3 日より前の NetBSD-current は、
2003 年 8 月 4 日、もしくはそれ以降の NetBSD-current に
アップグレードする必要があります。
CVS ブランチ netbsd-current (別名 HEAD) において
更新が必要なファイルは、次のとおりです。
lib/libc/gen/getcwd.c
CVS を使ってファイルを更新し、libc と rescue を
再構築・再インストールするには、次のコマンドを実行してください。
# cd src
# cvs update -d -P lib/libc/gen/getcwd.c
# cd lib/libc
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../../rescue
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
(この後システムを再起動するか、影響のあるデーモンを再起動する)
* NetBSD 1.6, 1.6.1:
NetBSD 1.6 および NetBSD 1.6.1 のバイナリー配布物には、この
セキュリティー上の弱点が含まれています。
2003 年 8 月 4 日より前の NetBSD 1.6 のソースは、
2003 年 8 月 5 日、もしくはそれ以降の NetBSD 1.6 のソースに
アップグレードする必要があります。
NetBSD 1.6.2 には、この弱点に対する修正が含まれる予定です。
CVS ブランチ netbsd-1-6 において更新が必要なファイルは、
次のとおりです。
lib/libc/gen/getcwd.c
CVS を使ってファイルを更新し、libc と静的リンクされたバイナリーを
再構築・再インストールするには、次のコマンドを実行してください。
# cd src
# cvs update -d -P -r netbsd-1-6 lib/libc/gen/getcwd.c
# cd lib/libc
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../../sbin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../bin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
(この後システムを再起動するか、影響のあるデーモンを再起動する)
もしくは、次の修正パッチ (オフセット誤差が表示されるかも知れません) を
適用するという方法も有効です。
ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2003-011-realpath.patch
修正パッチを適用するには、次のように libc と静的リンクされたバイナリーを
再構築・再インストールして、再起動してください。
# cd src
# patch < /path/to/SA2003-011-realpath.patch
# cd lib/libc
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../../sbin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../bin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
(この後システムを再起動するか、影響のあるデーモンを再起動する)
* バイナリーパッチ
バイナリーパッチを適用するには、次の手順を行ないます。
ARCH の部分は、あなたが実行している NetBSD のアーキテクチャー
(たとえば i386 など) に置き換えてください。
ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2003-011-realpath/netbsd-1-6/ARCH-realpath.tgz
cd / && tar xzvpf /path/to/ARCH-realpath.tgz
この tar ファイルは、次のファイルの新しいものを展開します。
/usr/lib/libc.so.12.83.2
/usr/lib/libc.so.12 (libc.so.12.83.2 へのシンボリックリンク)
/usr/lib/libc.a
/usr/lib/libc_p.a
/usr/lib/libc_pic.a
/sbin/mount
/sbin/umount
この後、この新しい libc を使うようにシステムを再起動するか、
影響のあるデーモンを再起動します。その場合も、古い libc と
静的リンクされているバイナリーをすべて再構築しなければならない
ことに注意してください。
* NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3:
NetBSD 1.5, NetBSD 1.5.1, NetBSD 1.5.2, NetBSD 1.5.3 の
バイナリー配布物には、このセキュリティー上の弱点が含まれています。
2003 年 8 月 5 日より前の NetBSD 1.5 のソースは、
2003 年 8 月 6 日、もしくはそれ以降の NetBSD 1.5 のソースに
アップグレードする必要があります。
CVS ブランチ netbsd-1-5 において更新が必要なファイルは、
次のとおりです。
lib/libc/gen/getcwd.c
CVS を使ってファイルを更新し、libc と静的リンクされたバイナリーを
再構築・再インストールするには、次のコマンドを実行してください。
# cd src
# cvs update -d -P -r netbsd-1-5 lib/libc/gen/getcwd.c
# cd lib/libc
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../../sbin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../bin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
(この後システムを再起動するか、影響のあるデーモンを再起動する)
もしくは、次の修正パッチ (オフセット誤差が表示されるかも知れません) を
適用するという方法も有効です。
ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2003-011-realpath.patch
修正パッチを適用するには、次のように libc と静的リンクされたバイナリーを
再構築・再インストールして、再起動してください。
# cd src
# patch < /path/to/SA2003-011-realpath.patch
# cd lib/libc
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../../sbin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
# cd ../bin
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
(この後システムを再起動するか、影響のあるデーモンを再起動する)
謝辞 - Thanks To
================
CERT
改訂履歴 - Revision History
===========================
2003-08-04 初版公開
2003-08-06 バイナリーパッチの追加
2003-08-10 1.5 用の修正手順にあった誤記の訂正
2003-08-10 バイナリーパッチに含まれているのは /sbin/mountd
ではなく /sbin/umount である点を訂正
詳細と参考資料 - More Information
=================================
新しい情報が判明した場合、セキュリティー勧告は更新されることがあります。
PGP 署名されたこの勧告の最新版は、次の場所から入手できます。
ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2003-011.txt.asc
NetBSD および NetBSD のセキュリティーに関する情報は、次の場所から入手できます。
http://www.NetBSD.org/
http://www.NetBSD.org/Security/
Copyright 2003, The NetBSD Foundation, Inc. All Rights Reserved.
Redistribution permitted only in full, unmodified form.
$NetBSD: NetBSD-SA2003-011.txt,v 1.12 2003/08/11 03:55:53 david Exp $
$Id: NetBSD-SA2003-011.txt.asc,v 1.2 2003/08/11 16:23:42 yyamano Exp $