FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-03:05.xdr (2003-03-20) * remote denial-of-service in XDR encoder/decoder ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-03:05.xdr From: FreeBSD Security Advisories Date: Thu, 20 Mar 2003 08:10:02 -0800 Message-Id: <200303201610.h2KGA230008462@freefall.freebsd.org> X-Sequence: announce-jp 1114 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックを行なうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-03:05.xdr Security Advisory The FreeBSD Project トピック: リモートからサービス妨害攻撃可能な XDR エンコーダ/デコーダの弱点 (remote denial-of-service in XDR encoder/decoder) 分類: core モジュール: libc 告知日: 2003-03-20 クレジット: Riley Hassell (eEye) Todd Miller 影響範囲: 4.6-RELEASE-p11, 4.7-RELEASE-p8, 4.8-RELEASE, 5.0-RELEASE-p5 より前の、すべてのリリース 修正日: 2003-03-20 12:59:55 UTC (RELENG_4) 2003-03-20 13:05:04 UTC (RELENG_4_6) 2003-03-20 13:05:27 UTC (RELENG_4_7) 2003-03-20 13:04:46 UTC (RELENG_5_0) FreeBSD に固有か: NO I. 背景 - Background XDR (eXternal Data Representation) は Sun Microsystems が開発した、 プラットフォームに依存しないデータ型のエンコード規格のひとつです。 XDR は、Sun RPC (Remote Procedure Call) などのプロトコルにおいて 広く使われています。FreeBSD の標準 C ライブラリには、 Sun Microsystems が配布していたライブラリに由来する XDR エンコード、 XDR デコードルーチンが含まれています。 II. 問題の詳細 - Problem Description xdrmem XDR ストリームオブジェクトは、境界チェックを正しく行なって いません。境界情報を保持している内部変数が符号付き整数になっており、 境界チェックではその符号付き整数からオブジェクト長を引き算して、 その結果が負になるかどうかで判断しています。しかしオブジェクト長が 十分大きい場合は、この内部変数に桁あふれが起こり、結果が正に なってしまいます。 III. 影響範囲 - Impact xdrmem XDR ストリームオブジェクトに対する操作には、メモリコピーの前に 境界チェックが行なわれるものがあります。この境界チェックのバグを 悪用すると、非常に大きいメモリ範囲をメモリコピーさせてセグメント違反 (segmentation violation) を発生させることができます。したがって攻撃者は、 xdrmem XDR ストリームオブジェクトを利用するサービスに対し、 悪意を持って作成したメッセージを送ることでサービス妨害攻撃を 行なうことが可能です。 IV. 回避方法 - Workaround 回避方法は見つかっていません。 V. 解決策 - Solution 次のいずれか一つに従ってください。 1) 弱点を持った FreeBSD システムを最新の 4-STABLE ブランチ、 もしくは修正日以降の RELENG_4_7 (4.7-RELEASE-p8)、 RELENG_4_6 (4.6.2-RELEASE-p11)、RELENG_5_0 (5.0-RELEASE-p5) セキュリティブランチのいずれかにアップグレードする。 2) 現在のシステムに修正パッチを適用する。 以下の修正パッチは、FreeBSD 4.6、FreeBSD 4.7 の各システムに 適用可能なことが確認されているものです。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:05/xdr-4.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:05/xdr-4.patch.asc 以下の修正パッチは、FreeBSD 5.0 のシステムに適用可能なことが 確認されているものです。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:05/xdr-5.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:05/xdr-5.patch.asc b) root 権限で次のコマンドを実行します。 # cd /usr/src # patch < /path/to/patch (訳注: /path/to/patch の部分は修正パッチのパス名に置き換えてください) c) に書かれている 手順にしたがってシステムを再構築し、システムを再起動します。 また、ベースシステムに含まれていない、静的にリンクされたバイナリ (つまり Ports Collection やサードパーティ製のソースからコンパイルしたもの) も、すべて再コンパイルする必要があることに注意してください。 更新されたライブラリを使うよう、影響を受けるアプリケーションは すべて再起動する必要があります。必須ではありませんが、システムの再起動が おそらく最も簡単な方法でしょう。 VI. 修正の詳細 - Correction details FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 ブランチ リビジョン パス名 - ------------------------------------------------------------------------- RELENG_4 src/include/rpc/xdr.h 1.14.2.1 src/lib/libc/xdr/xdr_mem.c 1.8.2.1 RELENG_4_6 src/UPDATING 1.73.2.68.2.38 src/include/rpc/xdr.h 1.14.10.1 src/lib/libc/xdr/xdr_mem.c 1.8.10.1 src/sys/conf/newvers.sh 1.44.2.23.2.28 RELENG_4_7 src/UPDATING 1.73.2.74.2.10 src/include/rpc/xdr.h 1.14.12.1 src/lib/libc/xdr/xdr_mem.c 1.8.12.1 src/sys/conf/newvers.sh 1.44.2.26.2.10 RELENG_5_0 src/UPDATING 1.229.2.10 src/include/rpc/xdr.h 1.21.2.1 src/lib/libc/xdr/xdr_mem.c 1.11.2.1 src/sys/conf/newvers.sh 1.48.2.6 - ------------------------------------------------------------------------- VII. 参考資料 - References A. FreeBSD セキュリティ勧告 日本語版について 日本語訳は FreeBSD 日本語ドキュメンテーションプロジェクト (doc-jp) が 参考のために提供するものです。過去の日本語版セキュリティ勧告は http://www.FreeBSD.org/ja/security/ にまとめられています。 ただし翻訳者および doc-jp は、その内容についていかなる保証も いたしませんのでご注意ください。日本語訳についてのご意見、ご要望、 お問い合わせ等は doc-jp@jp.FreeBSD.org までお願いします。 この勧告の中で紹介されている WWW サイト http://www.FreeBSD.org/ および FTP サイト ftp://ftp.FreeBSD.org/ には, 日本のミラーサイトが存在します。 ネットワークの混雑を緩和するため、まずはミラーサイトの利用を 考慮するようお願いします。 日本のミラーサイトを利用するには、 http://www.FreeBSD.org/ を http://www.jp.FreeBSD.org/www.freebsd.org/ に、 ftp://ftp.FreeBSD.org/ を ftp://ftp.jp.FreeBSD.org/ に、 それぞれ置き換えてください。 他の地域を含むミラーサイトに関する詳細は http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors.html (英文) http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/mirrors.html (日本語訳) にまとめられています。 $hrs: announce-jp/FreeBSD-SA/03:05,v 1.4 2003/03/25 23:35:55 hrs Exp $