FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-02:35.ffs (2002-08-05) * local users may read and write arbitrary blocks on an FFS filesystem ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-02:35.ffs From: FreeBSD Security Advisories Date: Mon, 5 Aug 2002 16:48:37 -0700 (PDT) Message-Id: <200208052348.g75NmbIS097274@freefall.freebsd.org> X-Sequence: announce-jp 1027 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックを行なうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-02:35.ffs Security Advisory The FreeBSD Project トピック: ローカルユーザが FFS ファイルシステム上の任意のブロックを 読み書きできる問題 (local users may read and write arbitrary blocks on an FFS filesystem) 分類: core モジュール: kernel 告知日: 2002-08-05 クレジット: Matt Dillon , Ian Dowse , Tor Egge 影響範囲: 4.6.1-RELEASE-p4 を含む、それ以前のすべての FreeBSD リリース 修正日より前の 4.6-STABLE 修正日: 2002-06-23 22:34:52 UTC (RELENG_4) 2002-07-31 17:55:22 UTC (RELENG_4_6) 2002-07-31 17:55:11 UTC (RELENG_4_5) 2002-07-31 17:54:57 UTC (RELENG_4_4) FreeBSD に固有か: YES I. 背景 - Background Berkeley Fast File System (FFS) は、FreeBSD がデフォルトで使用している ファイルシステムです。 II. 問題の詳細 - Problem Description FFS における最大許容ファイルサイズの計算にバグがあり、ユーザは FreeBSD の仮想メモリシステムの処理限界を超える大きさのファイルを 作成することが可能です。そのようなファイルへアクセスした場合、 整数データの演算でオーバフローが発生し、ファイルシステムのメタデータが ユーザファイル中にマップされてしまいます。これを利用すると、 ファイルシステムの任意のブロックにアクセスすることが可能になります。 このバグは、i386 アーキテクチャ上ではブロックサイズが 16k バイト以上、 alpha アーキテクチャ上ではブロックサイズが 32k バイト以上の FFS ファイルシステムでのみ、問題となります。また、ファイルシステム上に 6 ブロック以上の未使用空間があり、一つのファイルに書き込みアクセスが 可能であるという条件が少なくとも必要になります。 FreeBSD FFS ファイルシステムのデフォルトブロックサイズは、すべての アーキテクチャにおいて 4.5-RELEASE の公開直前に 8k から 16k に 変更されました。 III. 影響範囲 - Impact ローカルの攻撃者は、単純にファイルシステムを破壊してサービス妨害を 行なうことができる可能性があります。また、ローカルファイルシステムの 任意のファイルに読み書きアクセスし、 スーパユーザ権限を不正に入手できる可能性があります。 4.5-RELEASE より前に使われていた FFS ファイルシステムの デフォルトブロックサイズを使って作成された FFS ファイルシステムのように、 ブロックサイズが 16k バイト未満 (i386 アーキテクチャの場合)、 あるいは 32k バイト未満 (alpha アーキテクチャの場合) の FFS ファイルシステムには、この問題の影響はありません。 ファイルシステムのブロックサイズを調べるには、次のコマンドを使います。 # dumpfs /some/filesystem | grep '^bsize' IV. 回避方法 - Workaround 16k バイトのブロックサイズを持つファイルシステム上であっても、プロセスに 設定されているファイルサイズのリソース制限 (RLIMIT_FSIZE) が 63MB 以下に なっていれば、このバグを悪用することはできません。この制限を行なう 簡単な方法は、/etc/login.conf の適切なログインクラス (大抵の場合は `default') に、次のようなフィールドを追加することです。 :filesize=63m:\ /etc/login.conf を編集した後は、次のコマンドを実行して、対応する ケーパビリティデータベースも更新する必要があります。 # cap_mkdb /etc/login.conf 詳細は login.conf(5) をご覧ください。ただし、この操作は実行中の プロセスや、操作前に既にログインしているユーザが実行する 新しいプロセスには効果がありませんのでご注意ください。 ブロックサイズが 32k バイトを超えるファイルシステムの場合に適切な リソース制限値がいくつであるかは現時点で判明していません。63M バイトより 小さいかも知れませんし、逆に大きいかも知れません。 login.conf を読み込み、設定を反映させるのは、`login' や `sshd' などの アプリケーションの持っている機能です。ログイン機能を提供する サードパーティ製アプリケーションを使っている場合は、login.conf を 読み込むのかどうかを確認する必要があるでしょう。 V. 解決策 - Solution 1) 弱点を持った FreeBSD システムを最新の 4.6-STABLE に アップグレードするか、もしくは修正日以降の RELENG_4_6 (4.6.1-RELEASE-p5)、RELENG_4_5 (4.5-RELEASE-p14)、 RELENG_4_4 (4.4-RELEASE-p21) セキュリティブランチのいずれかに アップグレードする。 2) 現在のシステムに修正パッチを適用する。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。この修正パッチは、FreeBSD 4.x リリースすべてに 適用できることが確認されているものです。 # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:35/ffs.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:35/ffs.patch.asc b) http://www.freebsd.org/handbook/kernelconfig.html に書かれている 手順にしたがってカーネルを再構築し、システムを再起動します。 VI. 修正の詳細 - Correction details FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 パス名 リビジョン ブランチ - ------------------------------------------------------------------------- sys/ufs/ffs/ffs_vfsops.c RELENG_4 1.117.2.10 RELENG_4_6 1.117.2.9.2.1 RELENG_4_5 1.117.2.7.2.1 RELENG_4_4 1.117.2.3.2.1 sys/conf/newvers.sh RELENG_4_6 1.44.2.23.2.10 RELENG_4_5 1.44.2.20.2.15 RELENG_4_4 1.44.2.17.2.20 - ------------------------------------------------------------------------- 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/handbook/mirror.html (英文) http://www.FreeBSD.org/ja/handbook/mirror.html (日本語訳) にまとめられています。 $hrs: announce-jp/FreeBSD-SA/02:35,v 1.6 2002/08/09 04:50:08 hrs Exp $