FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-04:17.procfs (2004-12-01) * Kernel memory disclosure in procfs and linprocfs ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-04:17.procfs From: FreeBSD Security Advisories Date: Thu, 2 Dec 2004 00:12:26 GMT Message-Id: <200412020012.iB20CQ14039498@freefall.freebsd.org> X-Sequence: announce-jp 1258 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックをおこなうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-04:17.procfs Security Advisory The FreeBSD Project トピック: procfs と linprocfs におけるカーネルメモリの漏洩問題 (Kernel memory disclosure in procfs and linprocfs) 分類: core モジュール: sys 告知日: 2004-12-01 クレジット: Bryan Fulton, Ted Unangst, SWAT analysis tool (Coverity, Inc.) 影響範囲: FreeBSD のすべてのリリース 修正日: 2004-12-01 21:33:35 UTC (RELENG_5, 5.3-STABLE) 2004-12-01 21:34:23 UTC (RELENG_5_3, 5.3-RELEASE-p2) 2004-12-01 21:34:43 UTC (RELENG_5_2, 5.2.1-RELEASE-p13) 2004-12-01 21:33:57 UTC (RELENG_4, 4.10-STABLE) 2004-12-01 21:35:10 UTC (RELENG_4_10, 4.10-RELEASE-p5) 2004-12-01 21:35:57 UTC (RELENG_4_8, 4.8-RELEASE-p27) CVE Name: CAN-2004-1066 上記の各項目やセキュリティブランチ、以下の各節ついての説明など、 FreeBSD セキュリティ勧告についての一般的な情報は、 をご覧ください。 I. 背景 - Background プロセスファイルシステム procfs(5) は、システムのプロセステーブルを ファイルシステムとして参照可能にしたものです。これは通常 /proc に マウントされるもので、ps(1) や w(1) といったプログラムの機能を完全に 利用するには、このプロセスファイルシステムが必要になります。 Linux プロセスファイルシステム linprocfs(5) は、Linux のプロセスファイルの 一部をエミュレーションするものです。Linux バイナリの中には、完全な 動作のために、これを必要とするものがあります。 II. 問題の詳細 - Problem Description FreeBSD 4.x および 5.x の procfs(5) に含まれる /proc/curproc/cmdline と、 FreeBSD 5.x の linprocfs(5) に含まれる /proc/self/cmdline という 疑似ファイルは、プロセスの引数配列 (argument vector) をそのプロセスの アドレス空間から読み出すように実装されています。しかしこの操作では 参照するポインタの値を正しく検証しておらず、直接そのまま参照しています。 III. 影響範囲 - Impact 悪意を持ったローカルユーザが、システムパニックを発生させて ローカルシステムにサービス妨害攻撃をおこなったり、カーネルメモリの 一部を読み出すことができる可能性があります。カーネルメモリには、 ファイルキャッシュや端末バッファといったセキュリティ上重要な情報が 含まれている可能性があります。この情報は直接悪用可能かもしれませんし、 高い権限を不正に得るために悪用されるかもしれません。たとえば、 端末バッファにはユーザが入力したパスワードが含まれているかもしれません。 FreeBSD 4.x の linprocfs(5) ファイルシステムには /proc/self/cmdline 疑似ファイルが実装されていないため、procfs(5) ファイルシステムが マウントされている場合にのみ、この問題の影響があります。 procfs(5) と linprocfs(5) は両方とも、FreeBSD 5.x のデフォルト設定では 有効になっていません。そのため、設定を変更していない FreeBSD 5.x システムには、この問題の影響はありません。 IV. 回避方法 - Workaround procfs と linprocfs ファイルシステムがマウントされていたら、それらを アンマウントします。次のコマンドを root 権限で実行してください。 umount -A -t procfs,linprocfs また、fstab(5) にある、procfs と linprocfs を指定している行を コメントアウトして、それらが再起動時にマウントされないようにします。 V. 解決策 - Solution 次のいずれかひとつに従ってください。 1) 弱点を持った FreeBSD システムを最新の 4-STABLE または 5-STABLE に更新するか、 あるいは修正日以降の RELENG_5_3, RELENG_5_2, RELENG_4_10, RELENG_4_8 セキュリティブランチのいずれかにアップグレードする。 2) 現在のシステムに修正パッチを適用する。 以下の修正パッチは、FreeBSD 4.8, FreeBSD 4.10, FreeBSD 5.2, FreeBSD 5.3 の各システムに適用可能なことが確認されているものです。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 [FreeBSD 4.x] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:17/procfs4.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:17/procfs4.patch.asc [FreeBSD 5.x] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:17/procfs5.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:17/procfs5.patch.asc b) 修正パッチを適用します。 # cd /usr/src # patch < /path/to/patch (訳注: /path/to/patch の部分は修正パッチのパス名に置き換えてください) c) に書かれている 手順に従ってカーネルを再構築して、システムを再起動します。 VI. 修正の詳細 - Correction details FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 ブランチ リビジョン パス名 - ------------------------------------------------------------------------- RELENG_4 src/sys/miscfs/procfs/procfs_status.c 1.20.2.6 RELENG_4_10 src/UPDATING 1.73.2.90.2.6 src/sys/conf/newvers.sh 1.44.2.34.2.7 src/sys/miscfs/procfs/procfs_status.c 1.20.2.5.4.1 RELENG_4_8 src/UPDATING 1.73.2.80.2.30 src/sys/conf/newvers.sh 1.44.2.29.2.28 src/sys/miscfs/procfs/procfs_status.c 1.20.2.4.8.2 RELENG_5 src/sys/compat/linprocfs/linprocfs.c 1.84.2.1 src/sys/fs/procfs/procfs_status.c 1.52.2.1 RELENG_5_3 src/UPDATING 1.342.2.13.2.5 src/sys/compat/linprocfs/linprocfs.c 1.84.4.1 src/sys/conf/newvers.sh 1.62.2.15.2.7 src/sys/fs/procfs/procfs_status.c 1.52.4.1 RELENG_5_2 src/UPDATING 1.282.2.21 src/sys/compat/linprocfs/linprocfs.c 1.78.2.1 src/sys/conf/newvers.sh 1.56.2.20 src/sys/fs/procfs/procfs_status.c 1.49.2.1 - ------------------------------------------------------------------------- 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/04:17,v 1.3 2004/12/17 03:56:45 hrs Exp $