NetBSD Security Advisory 2003-001 ================================= トピック: OpenSSL コードに含まれる暗号の弱点 (Encryption weakness in OpenSSL code) バージョン: NetBSD-current: 2003 年 2 月 21 日より前のソース NetBSD-1.6.1: 影響なし NetBSD-1.6: 影響あり NetBSD-1.5.3: 影響あり NetBSD-1.5.2: 影響あり NetBSD-1.5.1: 影響あり NetBSD-1.5: 影響あり NetBSD-1.4*: 影響なし pkgsrc: openssl-0.9.6gnb1 より前のものが影響あり。 影響範囲: 暗号鍵が不正使用される危険性がある。 (Cryptographic keys can be compromised.) 修正日: NetBSD-current: 2003 年 2 月 21 日 NetBSD-1.6 ブランチ: 2003 年 2 月 21 日 (1.6.1 は修正ずみ) NetBSD-1.5 ブランチ: 2003 年 2 月 27 日 pkgsrc: openssl-0.9.6gnb1 (およびそれ以降) 概要 - Abstract =============== OpenSSL ライブラリーに含まれる SSL/TLS では、ブロック型暗号の パディングエラーと MAC 検証エラーを異なるエラーとして扱っています。 このことは、不正な SSL ストリームを処理する際に「そのストリームが どちらのエラーとして処理されるのか」という情報の漏洩を引き起こし、 ある種の適応タイミング攻撃を可能にします。 NetBSD では、SSL/TLS を使うサービスはデフォルトで有効になっていません。 しかし、これらのライブラリーを構築してサービスを有効にすると、それは そのシステムにおいて、暗号鍵の不正使用が可能なセキュリティー上の 弱点となる可能性があります。 技術的な詳細 - Technical Details ================================ http://www.openssl.org/news/secadv_20030219.txt を参照してください。 回避方法と解決策 - Solutions and Workarounds ============================================ 次に示す手順は、ソースツリーを更新して再構築し、新しいバージョンの libssl をインストールすることで、libssl バイナリーをアップグレード する方法を説明したものです。 アップグレード後には、実行中の libssl ライブラリーを使うプログラムを 再起動するのを忘れないようにしてください。 もし、弱点を持った libssl と静的にリンクされたバイナリーがある場合は、 それらを再構築する必要があります。 * NetBSD-current: 2003 年 2 月 21 日より前の NetBSD-current は、 2003 年 2 月 21 日、もしくはそれ以降の NetBSD-current に アップグレードする必要があります。 CVS ブランチ netbsd-current (別名 HEAD) において 更新が必要なファイルは、次のとおりです。 crypto/dist/openssl/ssl/s3_pkt.c CVS を使ってファイルを更新し、libssl を 再構築・再インストールするには、次のコマンドを実行してください。 # cd src # cvs update -d -P crypto/dist/openssl/ssl/s3_pkt.c # cd lib/libssl # make USETOOLS=no cleandir dependall # make USETOOLS=no install * NetBSD 1.6: まもなくリリースされる 1.6.1 へのアップグレードをおすすめします。 ソースを使ってアップグレードする必要がある場合は、 NetBSD 1.6 ブランチにおける 2003 年 2 月 21 日時点、あるいは それ以降のソースを使う必要があります。 CVS ブランチ netbsd-1-6 において 更新が必要なファイルは、次のとおりです。 crypto/dist/openssl/ssl/s3_pkt.c CVS を使ってファイルを更新し、libssl を 再構築・再インストールするには、次のコマンドを実行してください。 # cd src # cvs update -d -P -r netbsd-1-6 \ crypto/dist/openssl/ssl/s3_pkt.c # cd lib/libssl # make USETOOLS=no cleandir dependall # make USETOOLS=no install * NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3: 2003 年 2 月 27 日より前の NetBSD-1.5.x は、 2003 年 2 月 27 日、もしくはそれ以降の NetBSD-1.5 ブランチに アップグレードする必要があります。 CVS ブランチ netbsd-1-5 において 更新が必要なファイルは、次のとおりです。 crypto/dist/openssl/ssl/s3_pkt.c CVS を使ってファイルを更新し、libssl を 再構築・再インストールするには、次のコマンドを実行してください。 # cd src # cvs update -d -P -r netbsd-1-5 \ crypto/dist/openssl/ssl/s3_pkt.c # cd lib/libssl # make cleandir dependall # make install * NetBSD 1.4, 1.4.1, 1.4.2, 1.4.3: NetBSD-1.4.* のベースシステムには、OpenSSL が含まれていません。 pkgsrc からインストールしている場合は、pkgsrc 用の手順に 従ってください。 * pkgsrc: セキュリティー上の弱点は、バージョン 0.9.6gnb1 より前の openssl (pkgsrc/security/openssl) に含まれています。 openssl-0.9.6gnb1 か、もしくはそれ以降のものにアップグレード してください。この勧告の執筆時点では、0.9.6gnb1 が pkgsrc に 含まれています。 openssl に依存するパッケージは、'pkg_info openssl' を実行することで 調べることができます。pkgsrc パッケージを更新する方法にもよりますが、 それで表示されるパッケージのいくつかは、パッケージシステムによって 再構築されるかも知れません。試験的に用意されている 'make replace' ターゲットを使って更新する場合は、libssl.a と静的リンクされた バイナリーを構築するすべてのパッケージを手動で更新する必要があります。 pkgsrc に静的にリンクされたバイナリーがある場合は、再構築しなければ なりません。静的リンクされたバイナリーは、次のコマンドを使って 調べることができます (注: もし LOCALBASE をデフォルトの /usr/pkg から 変更している場合は、pkgsrc バイナリをインストールしたディレクトリーを 指定に含めるのを忘れないでください)。 file /usr/pkg/{bin,sbin,libexec}/* | grep static 謝辞 - Thanks To ================ Brice Canvel 氏 Alain Hiltgen 氏 Serge Vaudenay 氏, Martin Vuagnoux 氏 改訂履歴 - Revision History =========================== 2003-02-27 初版公開 2003-03-04 更新すべきファイル名の修正 2003-03-05 改訂履歴の修正 2003-03-05 1.5 のブランチリビジョン番号の修正 詳細と参考資料 - More Information ================================= PGP 署名されたこの勧告の最新版は、次の場所から入手できます。 ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2003-001.txt.asc NetBSD と、NetBSD のセキュリティーに関する情報は、次の場所から入手できます。 http://www.NetBSD.ORG/ http://www.NetBSD.ORG/Security/ Copyright 2003, The NetBSD Foundation, Inc. All Rights Reserved. $NetBSD: NetBSD-SA2003-001.txt.asc,v 1.5 2003/03/29 03:49:08 yyamano Exp $ $Id: NetBSD-SA2003-001.txt.asc,v 1.5 2003/03/29 03:49:08 yyamano Exp $