FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-03:04.sendmail (2003-03-04) * sendmail header parsing buffer overflow [REVISED] ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-03:04.sendmail [REVISED] From: FreeBSD Security Advisories Date: Tue, 4 Mar 2003 10:03:27 -0800 (PST) Message-Id: <200303041803.h24I3RYU030316@freefall.freebsd.org> X-Sequence: announce-jp 1111 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックを行なうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-03:04.sendmail Security Advisory The FreeBSD Project トピック: sendmail のヘッダ解析におけるバッファオーバフロー問題 (sendmail header parsing buffer overflow) 分類: contrib モジュール: contrib_sendmail 告知日: 2003-03-03 改訂日: 2003-03-04 クレジット: Mark Dowd (ISS) 影響範囲: 4.8-RELEASE、5.0-RELEASE-p4 より前の、 すべてのバージョンの FreeBSD リリース 修正日より前の FreeBSD 4-STABLE 修正日: 2003-03-03 18:03:18 UTC (RELENG_4) 2003-03-03 17:19:49 UTC (RELENG_5_0) 2003-03-03 17:20:23 UTC (RELENG_4_7) 2003-03-03 17:21:58 UTC (RELENG_4_6) 2003-03-03 17:22:07 UTC (RELENG_4_5) 2003-03-03 17:22:16 UTC (RELENG_4_4) 2003-03-03 17:22:26 UTC (RELENG_4_3) 2003-03-03 17:23:11 UTC (RELENG_3) FreeBSD に固有か: NO 0. 改訂履歴 - Revision History v1.0 2003-03-03 初版公開 v1.1 2003-03-04 各ブランチで修正されたファイルのリビジョン番号を追加 I. 背景 - Background FreeBSD では、デフォルトの Mail Transfer Agent (MTA) として、 汎用のネットワーク間メール配送ソフトウェアのひとつである sendmail(8) を採用しています。 II. 問題の詳細 - Problem Description Internet Security Systems, Inc. (ISS) は、バージョン 5.79 以降の すべてのバージョンの sendmail が、メールのヘッダ解析時に バッファオーバフローを起こす可能性があることを発見しました。 さらに、Sendmail, Inc. は、sendmail の ident プロトコル (RFC 1413) の対応部分にあったバッファ操作の不具合を発見し、修正を行なっています。 III. 影響範囲 - Impact リモートの攻撃者は、特殊な細工を施したメッセージを作成することで、 sendmail を起動したユーザ (通常は root) の権限で、sendmail に 任意のコードを実行させることができる可能性があります。 この悪意あるメッセージは、最初にメールを受け取る sendmail MTA、 リレーを行なう sendmail MTA、sendmail の配送プロセスなどによって 配送処理が行なわれますが、そのような sendmail が関与する、 すべての過程でこのセキュリティ上の弱点が悪用される危険性があります。 この弱点を悪用することはかなり困難ですが、実現は可能であると考えられています。 一方 ident ルーチンに含まれる弱点は、悪用できないと考えられています。 IV. 回避方法 - Workaround sendmail を利用しない、という以外に回避方法はありません。 V. 解決策 - Solution 次のいずれか一つに従ってください。 1) 弱点を持った FreeBSD システムを最新の 4.7-STABLE、もしくは修正日以降の RELENG_5_0 (5.0-RELEASE-p4)、RELENG_4_7 (4.7-RELEASE-p7)、 RELENG_4_6 (4.6.2-RELEASE-p10) セキュリティブランチのいずれかに アップグレードする。 [注: この勧告の執筆時点では、FreeBSD 4-STABLE ブランチは `4.8-RC1' という名前がついています。] 2) 現在のシステムに修正パッチを適用する。 以下の修正パッチは、FreeBSD 5.0、FreeBSD 4.7、FreeBSD 4.6.2 の 各システムに適用可能なことが確認されています。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail.patch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail.patch.asc b) root 権限で次のコマンドを実行します。 # cd /usr/src # patch < /path/to/patch # cd /usr/src/lib/libsm # make obj && make depend && make # cd /usr/src/lib/libsmutil # make obj && make depend && make # cd /usr/src/usr.sbin/sendmail # make obj && make depend && make && make install (訳注: /path/to/patch の部分は修正パッチのパス名に置き換えてください) c) sendmail を再起動します。root で以下のコマンドを実行してください。 # /bin/sh /etc/rc.sendmail restart 3) i386 システムに限り、修正パッチを適用して構築した sendmail バイナリが 提供されています。運用している FreeBSD のバージョン、 STARTTLS 対応の有無により、正しいバイナリを選択してください。 なお、STARTTLS に対応したバイナリを利用する場合は、 crypto 配布物がインストールされていなければなりません。 a) 以下の場所から修正済バイナリをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-nocrypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-nocrypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-nocrypto.bin.gz.asc b) バイナリをインストールします。以下のコマンドを root 権限で実行してください。 次に示すのは、FreeBSD 4.7 システム用の crypto 対応バイナリを 利用した場合の例です。なお、BINARYGZ には、ステップ (a) で ダウンロードしたファイル名を代入してください。 # BINARYGZ=/path/to/sendmail-4.7-i386-crypto.bin.gz # gunzip ${BINARYGZ} # install -s -o root -g smmsp -m 2555 ${BINARYGZ%.gz} /usr/libexec/sendmail/sendmail c) sendmail を再起動します。root 権限で以下のコマンドを実行してください。 # /bin/sh /etc/rc.sendmail restart VI. 修正の詳細 - Correction details FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 ブランチ リビジョン パス名 - ------------------------------------------------------------------------- RELENG_4 src/contrib/sendmail/FREEBSD-upgrade 1.1.2.15 src/contrib/sendmail/PGPKEYS 1.1.1.1.2.5 src/contrib/sendmail/RELEASE_NOTES 1.1.1.3.2.14 src/contrib/sendmail/cf/README 1.1.1.3.2.14 src/contrib/sendmail/cf/cf/submit.cf 1.1.1.1.2.7 src/contrib/sendmail/cf/m4/version.m4 1.1.1.3.2.14 src/contrib/sendmail/cf/ostype/bsd4.4.m4 1.3.6.2 src/contrib/sendmail/contrib/bitdomain.c 1.2.6.2 src/contrib/sendmail/doc/op/op.me 1.1.1.3.2.14 src/contrib/sendmail/libmilter/comm.c 1.1.1.1.2.8 src/contrib/sendmail/libmilter/docs/smfi_setreply.html 1.1.1.1.2.3 src/contrib/sendmail/libmilter/handler.c 1.1.1.1.2.6 src/contrib/sendmail/libmilter/libmilter.h 1.1.1.1.2.9 src/contrib/sendmail/libmilter/listener.c 1.1.1.1.2.11 src/contrib/sendmail/libmilter/main.c 1.1.1.1.2.9 src/contrib/sendmail/libsm/stdio.c 1.1.1.1.2.4 src/contrib/sendmail/libsmdb/smdb2.c 1.1.1.1.2.8 src/contrib/sendmail/mail.local/mail.local.c 1.6.6.13 src/contrib/sendmail/makemap/makemap.c 1.3.6.6 src/contrib/sendmail/praliases/praliases.c 1.3.6.7 src/contrib/sendmail/smrsh/smrsh.c 1.3.6.11 src/contrib/sendmail/src/README 1.1.1.3.2.13 src/contrib/sendmail/src/TUNING 1.1.1.1.2.3 src/contrib/sendmail/src/conf.c 1.5.2.13 src/contrib/sendmail/src/conf.h 1.6.2.13 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.12 src/contrib/sendmail/src/deliver.c 1.1.1.3.2.13 src/contrib/sendmail/src/domain.c 1.1.1.3.2.8 src/contrib/sendmail/src/err.c 1.3.6.7 src/contrib/sendmail/src/headers.c 1.4.2.9 src/contrib/sendmail/src/main.c 1.1.1.3.2.14 src/contrib/sendmail/src/mci.c 1.3.6.10 src/contrib/sendmail/src/milter.c 1.1.1.1.2.15 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.12 src/contrib/sendmail/src/queue.c 1.1.1.3.2.13 src/contrib/sendmail/src/savemail.c 1.4.2.10 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.14 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.2.6.13 src/contrib/sendmail/src/tls.c 1.1.1.1.2.4 src/contrib/sendmail/src/version.c 1.1.1.3.2.14 RELENG_5_0 src/UPDATING 1.229.2.9 src/contrib/sendmail/src/daemon.c 1.1.1.14.2.1 src/contrib/sendmail/src/headers.c 1.12.2.1 src/contrib/sendmail/src/main.c 1.1.1.15.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.14.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.17.2.1 src/sys/conf/newvers.sh 1.48.2.5 RELENG_4_7 src/UPDATING 1.73.2.74.2.9 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.10.2.1 src/contrib/sendmail/src/headers.c 1.4.2.7.2.1 src/contrib/sendmail/src/main.c 1.1.1.3.2.12.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.10.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.12.2.1 src/sys/conf/newvers.sh 1.44.2.26.2.9 RELENG_4_6 src/UPDATING 1.73.2.68.2.37 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.8.2.1 src/contrib/sendmail/src/headers.c 1.4.2.6.2.1 src/contrib/sendmail/src/main.c 1.1.1.3.2.9.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.8.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.9.2.1 src/sys/conf/newvers.sh 1.44.2.23.2.27 RELENG_4_5 src/UPDATING 1.73.2.50.2.41 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.6.4.1 src/contrib/sendmail/src/headers.c 1.4.2.5.4.1 src/contrib/sendmail/src/main.c 1.1.1.3.2.6.4.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.6.4.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.7.4.1 src/sys/conf/newvers.sh 1.44.2.20.2.26 RELENG_4_4 src/UPDATING 1.73.2.43.2.40 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.6.2.1 src/contrib/sendmail/src/headers.c 1.4.2.5.2.1 src/contrib/sendmail/src/main.c 1.1.1.3.2.6.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.6.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.7.2.1 src/sys/conf/newvers.sh 1.44.2.17.2.32 RELENG_4_3 src/UPDATING 1.73.2.28.2.29 src/contrib/sendmail/src/daemon.c 1.1.1.3.2.4.2.1 src/contrib/sendmail/src/headers.c 1.4.2.4.2.1 src/contrib/sendmail/src/main.c 1.1.1.3.2.4.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.4.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.4.2.1 src/sys/conf/newvers.sh 1.44.2.14.2.20 RELENG_3 src/contrib/sendmail/src/daemon.c 1.1.1.2.2.2 src/contrib/sendmail/src/headers.c 1.3.2.2 src/contrib/sendmail/src/main.c 1.1.1.2.2.2 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.2.1 - ------------------------------------------------------------------------- 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 (日本語訳) にまとめられています。