NetBSD Security Advisory 2006-015 ================================= トピック: AMD CPU を持つ i386/amd64/Xen プラットフォームにおける FPU の情報漏洩 (FPU Information leak on i386/amd64/Xen platforms with AMD CPUs) バージョン: NetBSD-current: 2006 年 4 月 19 日より前のソース NetBSD 3.0: 影響あり NetBSD 2.1: 影響あり NetBSD 2.0.*: 影響あり NetBSD 2.0: 影響あり 影響範囲: ローカルプロセス間の情報漏洩 (Information leakage between local processes) 修正日: NetBSD-current: 2006 年 4 月 19 日 NetBSD-3-0 ブランチ: 2006 年 5 月 12 日 (3.0.1 には修正が含まれる予定) NetBSD-3 ブランチ: 2006 年 5 月 12 日 NetBSD-2-1 ブランチ: 2006 年 5 月 12 日 (2.1.1 には修正が含まれる予定) NetBSD-2-0 ブランチ: 2006 年 5 月 12 日 (2.0.4 には修正が含まれる予定) NetBSD-2 ブランチ: 2006 年 5 月 12 日 概要 - Abstract =============== amd64, i386, Xen 版の各 NetBSD カーネルが AMD プロセッサーで動作している 場合に浮動小数点数の演算を行なうと、情報の漏洩が発生する可能性があります。 これは、ドキュメントに記載されている AMD プロセッサーの動作によるものです。 この弱点には、CVE 参照番号 CVE-2006-1056 が割り当てられています。 技術的な詳細 - Technical Details ================================ AMD プロセッサーの FXRSTOR/FXSAVE 命令は、ES (exception summary) ビットが 1 にセットされていないと、x87 ポインターレジスター (FOP, FIP, FDP) を 退避/復元しません。これにより、他のローカルプロセスから、FPU 例外を 使うプロセスが実行している浮動小数点演算命令を調べられる可能性があります。 回避方法と解決策 - Solutions and Workarounds ============================================ この問題に対する回避方法は判明していません。ただし、これは i386, amd64, Xen 版の NetBSD カーネルを、特定の AMD プロセッサーで 動作させた場合にのみ、問題となるものです。 この問題の影響を受ける AMD プロセッサーは、第 7 世代 (AMD Athlon, AMD Duron, AMD Athlon MP, AMD Athlon XP, AMD Sempron など) および、第 8 世代 (AMD Athlon64, AMD Athlon64 FX, AMD Opteron, AMD Turion, AMD Sempron など) と呼ばれるものです。 すべてのバージョンの NetBSD は、修正ずみのカーネルソースを入手して、 カーネルを再構築・再インストールし、システムを再起動する必要があります。 修正ずみのソースは、NetBSD CVS リポジトリーから入手することが可能です。 次に示す手順は、カーネルをアップグレードする方法を簡単にまとめたものです。 手順にある以下のキーワードは、適宜置き換えてください。 ARCH (uname -m で表示される) アーキテクチャー名 KERNCONF カーネル設定ファイルのファイル名 CVS を使ってファイルを更新し、カーネルを再構築・再インストールするには、 次のコマンドを実行してください。 # cd src # cvs update -d -P sys/arch/i386/isa/npx.c # cvs update -d -P sys/arch/amd64/amd64/fpu.c # cvs update -d -P sys/arch/xen/i386/npx.c # ./build.sh kernel=KERNCONF # mv /netbsd /netbsd.old # cp sys/arch/ARCH/compile/obj/KERNCONF/netbsd /netbsd # shutdown -r now 詳しい手順については、次の URL を参照してください。 http://www.NetBSD.org/guide/en/chap-kernel.html 謝辞 - Thanks To ================ Christos Zoulas 氏: 修正の実装 Jan Beulich 氏: 問題の発見者 AMD 社の Richard Brunner 氏: ベンダー側の情報提供者 改訂履歴 - Revision History =========================== 2006-06-08 初版公開 詳細と参考資料 - More Information ================================= 新しい情報が判明した場合、セキュリティー勧告は更新されることがあります。 PGP 署名されたこの勧告の最新版は、次の場所から入手できます。 ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-015.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-015.txt,v 1.5 2006/06/08 16:07:09 adrianp Exp $ $Id$