FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-01:66 (2001-12-11) * thttpd port contains remotely vulnerability ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-01:66.thttpd From: FreeBSD Security Advisories Date: Tue, 11 Dec 2001 09:00:57 -0800 (PST) Message-Id: <200112111700.fBBH0vC72090@freefall.freebsd.org> X-Sequence: announce-jp 865 を日本語訳したものです. 原文は PGP 署名されていますが, この日本語訳は PGP 署名されていません. 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックを行なうには, 原文を参照してください. 日本語訳および, ミラーサイト利用の詳細については, 文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください. [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-01:66 Security Advisory FreeBSD, Inc. トピック: thttpd port におけるリモートから悪用可能なセキュリティ上の弱点 (thttpd port contains remotely vulnerability) 分類: ports モジュール: thttpd 告知日: 2001-12-11 クレジット: GOBBLES SECURITY 影響範囲: 修正日以前の Ports Collection 修正日: 2001-11-22 00:10:56 UTC FreeBSD に固有か: no I. 背景 - Background thttpd は単純で小さく, 移植性に優れた高速でセキュアな HTTP サーバです. II. 問題の詳細 - Problem Description auth_check() 関数における NUL 終端文字の格納に必要なメモリ領域の 計算には, 一つ違い (off-by-one) エラーが含まれています. 具体的には, 終端文字 NUL を含む 501 バイトの文字列を格納するのに, 500 バイトの スタックバッファが使用されます. III. 影響範囲 - Impact 影響を受けるバッファはスタック上にあるため, このバグは 「毒入り NUL バイト (the poisoned NUL byte)」の手法 (参考資料を 参照のこと) を用いて悪用することが可能です. 攻撃者はリモートから thttpd プロセスを乗っ取り, そのプロセスの持つ あらゆる権限を手に入れることができます. 標準設定では, thttpd プロセスは `nobody' ユーザの権限で動作します. IV. 回避方法 - Workaround 1) thttpd の port/package がインストールされている場合は, それをシステムから削除します. V. 解決策 - Solution 1) Ports Collection 全体をアップグレードし thttpd の port を再構築する. 2) 古い (訳注: thttpd の) package をシステムから削除し, 修正日以降に作成された新しい package を以下の場所から 取得してインストールする. [i386] ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/www/thttpd-2.22.tgz ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/www/thttpd-2.22.tgz [alpha] 現時点では alpha アーキテクチャ用の package は自動生成されていません. これは, 構築のためのマシンリソースが不足しているためです. 3) thttpd の新しい port スケルトンを以下の場所からダウンロードし, それを使って port を再構築する. http://www.freebsd.org/ports/ 4) 上記 (3) の操作を自動的に行なう portcheckout ユーティリティを使う. portcheckout の port は /usr/ports/devel/portcheckout にあります. また, portcheckout の package が以下の場所から入手可能です. ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/devel/portcheckout-2.0.tgz ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/devel/portcheckout-2.0.tgz VI. 修正の詳細 - Correction details 次の表は, FreeBSD Ports Collection に含まれている, 修正されたファイルそれぞれのリビジョン番号です. パス名 リビジョン番号 - ------------------------------------------------------------------------- ports/www/thttpd/Makefile 1.23 ports/www/thttpd/distinfo 1.20 ports/www/thttpd/files/patch-fdwatch.c removed - ------------------------------------------------------------------------- VII. 参考資料 - References 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/01:66,v 1.3 2002/01/03 17:53:39 hrs Exp $