FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-03:09.signal (2003-08-10) * Insufficient range checking of signal numbers ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: [FreeBSD-Announce] From: FreeBSD Security Advisories Date: Sun, 10 Aug 2003 19:57:06 -0700 (PDT) Message-Id: <200308110257.h7B2v6hv061270@freefall.freebsd.org> X-Sequence: announce-jp 1159 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを検証するために PGP 署名の チェックを行なうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 倉品 英行 ] --(ここから) ============================================================================= FreeBSD-SA-03:09.signal Security Advisory The FreeBSD Project トピック: シグナル番号の範囲チェックが不十分である問題 (Insufficient range checking of signal numbers) 分類: core モジュール: sys 告知日: 2003-08-10 影響範囲: 5.1-RELEASE および 4.8-RELEASE-p1 を含む、 すべての FreeBSD リリース 修正日以前の FreeBSD 4-STABLE 註: 5.1-RELEASE に関しては下記の「問題の詳細」をご覧ください 修正日: 2003-08-10 23:09:28 UTC (RELENG_4) 2003-08-10 23:14:08 UTC (RELENG_5_1) 2003-08-10 23:17:48 UTC (RELENG_5_0) 2003-08-10 23:19:35 UTC (RELENG_4_8) 2003-08-10 23:20:30 UTC (RELENG_4_7) 2003-08-10 23:21:18 UTC (RELENG_4_6) 2003-08-10 23:22:19 UTC (RELENG_4_5) 2003-08-10 23:23:05 UTC (RELENG_4_4) 2003-08-10 23:23:56 UTC (RELENG_4_3) FreeBSD 固有か: YES For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit . 上記の各項目、セキュリティブランチ、下記の各節に関する詳細など、 FreeBSD セキュリティ勧告についての一般的な情報は、 をご覧ください。 I. 背景 - Background Signals are a UNIX mechanism for handling asynchronous events such as pressing the terminal interrupt key (e.g. Ctrl-C), job control, memory access violations, I/O completion, and many others. Each signal is assigned a positive number. There are a number of mechanisms by which a process may cause a signal to be sent, including using the kill(2) system call or registering with certain device drivers. シグナルは、端末からの割り込みキー (たとえば Ctrl-C) の入力、ジョブ制御、 メモリアクセス違反、I/O 完了通知などの非同期イベントを扱う UNIX システムの 機構です。各シグナルには正の番号が割り当てられています。プロセスから 送出シグナルを発生するための機構には、kill(2) システムコールの使用や、 特定のデバイスドライバの登録など、さまざまなものがあります。 II. 問題の詳細 - Problem Description Some mechanisms for causing a signal to be sent did not properly validate the signal number, in some cases allowing the kernel to attempt to deliver a negative or out-of-range signal number. Such errors were present in the ptrace(2) system call and the `spigot' video capture device driver. 送出するシグナルを発生する機構には、適切にシグナル番号を検証していない ものがあります。そのため、ある条件下では、カーネルが負、または範囲外の 番号を持ったシグナルを配送してしまいます。このような誤りが 発見されたのは、ptrace(2) システムコールおよび、spigot ビデオ キャプチャデバイスドライバです。 The error in ptrace(2) was introduced in FreeBSD version 4.2-RELEASE (4-STABLE dated Oct 26 04:34:41 2000 UTC). ptrace(2) システムコールの誤りが導入されたのは、FreeBSD 4.2-RELEASE (Oct 26 04:34:41 2000 UTC 時点の 4-STABLE) です。 The `spigot' device driver (including the error) was introduced in FreeBSD 2.0.5. It has never been included in the kernel installed by default, nor in the GENERIC kernel configuration. Only systems with `device spigot' added to the kernel configuration are affected by this instance of the error. (誤りが含まれている) spigot デバイスドライバは、FreeBSD 2.0.5 で 導入されました。このドライバがデフォルトでインストールされるカーネルに 含まれていたことは一度もなく、GENERIC カーネルコンフィグファイルにも 含まれていません。 したがって、`device spigot' を明示的にカーネルコンフィグファイルに 追加したシステムに限り、影響があります。 III. 影響範囲 - Impact In most cases, attempted delivery of a negative or out-of-range signal number will trigger an assertion failure and panic, thereby crashing the system. A malicious local user could use this vulnerability as a local denial-of-service attack. 負または範囲外のシグナル番号を配送しようとすると、ほとんどの場合は 境界チェックコードに引っかかってパニックが発生し、システムが クラッシュします。このセキュリティ上の弱点を悪用して、悪意のある ローカルユーザは、ローカルからサービス妨害攻撃をおこなうことが可能です。 However, in FreeBSD 5.x, the assertion code is not present if the `INVARIANTS' kernel option is not used. In FreeBSD 5.0-RELEASE and 5.1-RELEASE, `INVARIANTS' is not enabled by default. In this configuration, a malicious local user could use this vulnerability to modify kernel memory, potentially leading to complete system compromise. (FreeBSD 4.x is not vulnerable in this way.) しかし、FreeBSD 5.x システムで INVARIANTS カーネルオプションが 指定されていない場合、問題の境界チェックコードが存在しません。 FreeBSD 5.0-RELEASE および 5.1-RELEASE のデフォルトでは、 INVARIANTS オプションが無効になっています。無効になっている場合は、 このセキュリティ上の弱点を悪用して、悪意のあるローカルユーザが カーネルメモリを改変し、システムを不正使用できる可能性があります (FreeBSD 4.x には、この手口による危険性はありません)。 IV. 回避方法 - Workaround There is no workaround for the local denial-of-service attack. ローカルからのサービス妨害攻撃を回避する方法はありません。 The more severe impact, present only in FreeBSD 5.x systems, can be avoided by uncommenting or adding the `INVARIANTS' line to your kernel configuration: FreeBSD 5.x システムのみに存在する深刻な影響については、カーネル コンフィグファイルに options INVARIANTS #Enable calls of extra sanity checking という行を追加するか、コメントアウトされている場合はコメント記号を 削除することで、問題を回避することが可能です。 に記載されて いる手順でカーネルを再構築し、システムを再起動します。 NOTE WELL: This workaround is only for FreeBSD 5.x systems. This workaround does not eliminate the possibility of a local denial-of-service attack. 註: この回避方法は FreeBSD 5.x システムでのみ有効です。ただし この方法でも、ローカルからのサービス妨害攻撃を不可能には できません。 V. 解決策 - Solution (訳注: 次のいずれか一つに従ってください。) 1) Upgrade your vulnerable system to 4.8-STABLE, or to any of the RELENG_4_8 (4.8-RELEASE-p2), RELENG_4_7 (4.7-RELEASE-p12), or RELENG_5_1 (5.1-RELEASE-p1) security branches dated after the respective correction dates. 1) 弱点を持った FreeBSD システムを、最新の 4.8-STABLE か、 もしくは修正日以降の RELENG_5_1 (5.1-RELEASE-p1), RELENG_4_8 (4.8-RELEASE-p2), RELENG_4_7 (4.7-RELEASE-p12) セキュリティブランチのいずれかにアップグレードする。 2) To patch your present system: 2) 現在のシステムに修正パッチを適用する。 a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を検証する。 [FreeBSD 5.1-RELEASE] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal51.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal51.patch.asc [FreeBSD 5.0-RELEASE] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal50.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal50.patch.asc [FreeBSD 4.8-RELEASE および 4.8-STABLE、 2003 年 1 月 2 日 20 時 39 分 13 秒 (世界協定時) 以降の 4.7-STABLE] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal4s.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal4s.patch.asc [FreeBSD 4.3-RELEASE から 4.7-RELEASE まで、 2003 年 1 月 2 日 20 時 39 分 13 秒 (世界協定時) より前の 4.7-STABLE] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal47.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal47.patch.asc b) Apply the patch. b) 修正パッチを適用する。 # cd /usr/src # patch < /path/to/patch (訳注: /path/to/patch の部分は修正パッチのパス名に置き換えてください) c) Recompile your kernel as described in and reboot the system. c) に記載されている手順でカーネルを再構築し、システムを再起動する。 VI. 修正の詳細 - Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 ブランチ リビジョン パス名 - ------------------------------------------------------------------------- src/sys/UPDATING RELENG_5_1 1.251.2.2 RELENG_5_0 1.229.2.15 RELENG_4_8 1.73.2.80.2.4 RELENG_4_7 1.73.2.74.2.15 RELENG_4_6 1.73.2.68.2.43 RELENG_4_5 1.73.2.50.2.45 RELENG_4_4 1.73.2.43.2.46 RELENG_4_3 1.73.2.28.2.33 src/sys/conf/newvers.sh RELENG_5_1 1.50.2.3 RELENG_5_0 1.48.2.10 RELENG_4_8 1.44.2.29.2.3 RELENG_4_7 1.44.2.26.2.14 RELENG_4_6 1.44.2.23.2.32 RELENG_4_5 1.44.2.20.2.29 RELENG_4_4 1.44.2.17.2.37 RELENG_4_3 1.44.2.14.2.23 src/sys/i386/isa/spigot.c RELENG_4 1.44.2.1 RELENG_5_1 1.58.2.1 RELENG_5_0 1.55.2.1 RELENG_4_8 1.44.14.1 RELENG_4_7 1.44.12.1 RELENG_4_6 1.44.10.1 RELENG_4_5 1.44.8.1 RELENG_4_4 1.44.6.1 RELENG_4_3 1.44.4.1 src/sys/kern/sys_process.c RELENG_4 1.51.2.7 RELENG_5_1 1.108.2.1 RELENG_5_0 1.104.2.1 RELENG_4_8 1.51.2.6.2.1 RELENG_4_7 1.51.2.4.2.1 RELENG_4_6 1.51.2.3.4.1 RELENG_4_5 1.51.2.3.2.1 RELENG_4_4 1.51.2.1.4.2 RELENG_4_3 1.51.2.1.2.2 src/sys/kern_sig.c RELENG_5_1 1.239.2.1 RELENG_5_0 1.197.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 (日本語訳) にまとめられています。 $rushani: 03:09.signal,v 1.3 2003/08/11 07:50:25 hideyuki Exp $ $hrs: announce-jp/FreeBSD-SA/03:09,v 1.1 2003/08/11 18:53:17 hrs Exp $