NetBSD Security Advisory 2006-017 ================================= トピック: sendmail における特殊なマルチパート MIME メッセージの問題 (Sendmail malformed multipart MIME messages) バージョン: NetBSD-current: 2006 年 5 月 30 日より前のソース NetBSD 3.0: 影響あり NetBSD 2.1: 影響あり NetBSD 2.0.*: 影響あり NetBSD 2.0: 影響あり pkgsrc: sendmail-8.13.6nb2 および以前のバージョン sendmail-8.12.11nb2 および以前のバージョン 影響範囲: サービス妨害 (Denial of service) 修正日: NetBSD-current: 2006 年 5 月 30 日 NetBSD-3-0 ブランチ: 2006 年 6 月 14 日 (3.0.1 には修正が含まれる予定) NetBSD-3 ブランチ: 2006 年 6 月 14 日 NetBSD-2-1 ブランチ: 2006 年 6 月 14 日 (2.1.1 には修正が含まれる予定) NetBSD-2-0 ブランチ: 2006 年 6 月 14 日 (2.0.4 には修正が含まれる予定) NetBSD-2 ブランチ: 2006 年 6 月 14 日 pkgsrc: sendmail-8.13.6nb3 において修正ずみ sendmail-8.12.11nb3 において修正ずみ 概要 - Abstract =============== sendmail には、特殊なマルチパート MIME メッセージの処理において、 サービス妨害を引き起こすことができるようなセキュリティー上の弱点が存在します。 この問題を悪用すると、sendmail を実行しているホストに対して、 リモートからサービス妨害攻撃を行なえる可能性があります。 この弱点には、CVE 参照番号 CVE-2006-1173 が割り当てられています。 技術的な詳細 - Technical Details ================================ サービス妨害は、sendmail プロセスが特殊なマルチパート MIME メッセージを 処理する時に発生します。そのメッセージとは、sendmail プロセスが メッセージを処理する際に、プロセス単位で割り当てられたスタック空間を 使い尽くして、異常終了してしまうようなものです。 sendmail のサーバープロセスは、そのような特殊なメッセージを処理した 子プロセスが異常終了しても、影響を受けずに正常に処理を続行します。 つまり、これが原因で MTA によるメールの処理が中断してしまうわけでは ありません。 しかし攻撃者は、この弱点を何度も攻撃することで、次のようなさまざまな 問題を発生させることが可能です。 - 攻撃者は特殊な MIME メッセージを何度も送ることでサーバー上に core dump ファイルを生成させ、ディスク容量を消費させることが可能 - 特殊な MIME メッセージは sendmail キューにすべて残るため、キューを 処理するたびにプロセスが異常終了する。これにより、キューに 入っている他のメッセージの配送に影響が出る可能性がある 回避方法と解決策 - Solutions and Workarounds ============================================ NetBSD 2.0 およびそれ以降では、sendmail はデフォルトで localhost (127.0.0.0, ::1) のみに bind しており、外部からの接続はできないように なっています。この問題を外部から悪用できるのは、sendmail が 外部からのメールを受け取るように設定されているホストだけです。 ただし、sendmail をローカルのメール配送に使っているホストでも、 ローカルユーザーからの攻撃は可能です。 影響のあるバージョンを使っているユーザーは、sendmail を修正ずみの ものに更新することをおすすめします。 次に示す手順は、ソースツリーを更新して sendmail バイナリーを再構築し、 新しいバージョンの sendmail をインストールする方法を説明したものです。 * NetBSD-current: 今回と今までに判明した sendmail の問題を受けて、sendmail は 2006 年 5 月 30 日に NetBSD のベースシステムから完全に削除されました。 デフォルトの MTA は、Postfix に切り替わっています。 この変更は、NetBSD 4.0 およびそれ以降に反映される予定ですが、 上記時点以降に構築されたスナップショットをインストールした current のユーザーにも影響します。 NetBSD 4.0 でデフォルトの MTA を切り替えるという判断は、 NetBSD-SA2006-010 が公開された時点で行なわれていたのですが、 今回の問題が見つかったことにより、4.0 リリース用のブランチを 用意するよりも前に、sendmail を先に削除することになりました。 これは、将来また sendmail に問題が発見された場合の 危険性および、それにともなうシステム保守の負担を低減することを 意図したものです。 NetBSD-current のユーザーは、メールの設定を移行する必要が あります。ベースシステムに含まれる postfix を使うか、あるいは pkgsrc で提供されている修正ずみの sendmail (もしくは他の 種類の MTA) を使うことになるでしょう。pkgsrc に含まれる sendmail では、ベースシステムに含まれていた sendmail と比べて、 より多くのオプション機能が有効化されています。この理由から、 実際に sendmail を使っているサイトの多くは、pkgsrc に含まれる sendmail を使う傾向にあるようです。 sendmail は、この問題が修正されないままベース配布物から 削除されたため、2006 年 5 月 30 日より前の NetBSD-current を 使っているユーザーは、新しいリリースを構築して、システムを更新する ことをおすすめします。また、更新の際には postinstall ユーティリティーを 使い、そのシステムに存在する弱点を含んだ古い sendmail バイナリーが きちんと削除されていることを確認しましょう。 詳しい手順については、次の URL を参照してください。 http://www.netbsd.org/Documentation/current/ * NetBSD 3.*: 2006 年 6 月 14 日より前の NetBSD 3.* ソースを使っているシステムは、 2006 年 6 月 15 日、もしくはそれ以降の NetBSD 3.* ソースを使って アップグレードする必要があります。 CVS ブランチ netbsd-3 および netbsd-3-0 において 更新が必要なファイルは、次のとおりです。 gnu/dist/sendmail/sendmail/deliver.c gnu/dist/sendmail/sendmail/mime.c gnu/dist/sendmail/sendmail/sendmail.h gnu/dist/sendmail/sendmail/version.c CVS を使ってファイルを更新し、sendmail を 再構築・再インストールするには、次のコマンドを実行してください。 # cd src # cvs update -d -P -r gnu/dist/sendmail # cd gnu/usr.sbin/sendmail # make USETOOLS=no cleandir dependall # make USETOOLS=no install * NetBSD 2.*: 2006 年 6 月 14 日より前の NetBSD 2.* ソースを使っているシステムは、 2006 年 6 月 15 日、もしくはそれ以降の NetBSD 2.* ソースを使って アップグレードする必要があります。 CVS ブランチ netbsd-2, netbsd-2-0, netbsd-2-1 において 更新が必要なファイルは、次のとおりです。 gnu/dist/sendmail/sendmail/deliver.c gnu/dist/sendmail/sendmail/mime.c gnu/dist/sendmail/sendmail/sendmail.h gnu/dist/sendmail/sendmail/version.c CVS を使ってファイルを更新し、sendmail を 再構築・再インストールするには、次のコマンドを実行してください。 # cd src # cvs update -d -P -r gnu/dist/sendmail # cd gnu/usr.sbin/sendmail # make USETOOLS=no cleandir dependall # make USETOOLS=no install 謝辞 - Thanks To ================ CERT: 問題の通知と勧告公開の調整 Sendmail Consortium: この問題を解決する修正パッチの提供 Frank Sheiness 氏: 問題の発見者 改訂履歴 - Revision History =========================== 2006-06-14 初版公開 詳細と参考資料 - More Information ================================= 新しい情報が判明した場合、セキュリティー勧告は更新されることがあります。 PGP 署名されたこの勧告の最新版は、次の場所から入手できます。 ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-017.txt.asc NetBSD および NetBSD のセキュリティーに関する情報は、次の場所から入手できます。 http://www.NetBSD.org/ http://www.NetBSD.org/Security/ Copyright 2006, The NetBSD Foundation, Inc. All Rights Reserved. Redistribution permitted only in full, unmodified form. $NetBSD: NetBSD-SA2006-017.txt,v 1.6 2006/06/14 19:50:37 adrianp Exp $ $Id$