[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NetBSD Security Advisory 2003-004: Format string vulnerabilityin zlib gzprintf()
- Subject: Re: NetBSD Security Advisory 2003-004: Format string vulnerabilityin zlib gzprintf()
- From: Yuji Yamano <yyamano@kt.rim.or.jp>
- To: announce-ja@jp.netbsd.org, netbsd@re.soum.co.jp
- Date: Sat, 29 Mar 2003 12:47:22 +0900 (JST)
- Message-Id: <20030329.124722.50045698.yyamano@kt.rim.or.jp>
- In-Reply-To: <20030326185441.GB14884@vex>
- References: <20030326185441.GB14884@vex>
- Delivered-To: mailing list announce-ja@jp.netbsd.org
- Delivered-To: moderator for announce-ja@jp.netbsd.org
- Mailing-List: contact announce-ja-help@jp.netbsd.org; run by ezmlm-idx
NetBSD セキュリティー勧告 日本語版
=============================================================================
NetBSD Security Advisory 2003-004 (2003/03/26)
* Format string vulnerability in zlib gzprintf()
=============================================================================
このメールは, netbsd-announce に流れた
Subject: NetBSD Security Advisory 2003-004: Format string vulnerability in zlib gzprintf()
From: NetBSD Security Officer <security-officer@netbsd.org>
Date: Wed, 26 Mar 2003 13:52:11 -0500
Message-Id: <20030326185211.GX14884@vex>
を、www.NetBSD.ORG 翻訳プロジェクトが日本語訳したものです
(日本語訳は NetBSD-SA2003-004.txt,v 1.6 に基づいています)。
原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。
修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の
チェックを行なうには。原文を参照してください。
------------------------------- ここから ------------------------------------
NetBSD Security Advisory 2003-004
=================================
トピック: zlib の gzprintf() の書式文字列におけるセキュリティー上の弱点
(Format string vulnerability in zlib gzprintf())
バージョン: NetBSD-current: 2003 年 3 月 5 日より前のソース
NetBSD 1.6: 影響あり
NetBSD-1.5.3: 影響あり
NetBSD-1.5.2: 影響あり
NetBSD-1.5.1: 影響あり
NetBSD-1.5: 影響あり
pkgsrc: zlib-1.1.4nb1 より前の
devel/zlib package は影響あり
影響範囲: gzprintf() 呼び出しているアプリケーションの権限を
不正に獲得できる (ただし、そのようなアプリケーションは
ベースシステムに含まれていない)。
(Privilege escalation in applications call using gzprintf().
(There are none in the base system.))
修正日: NetBSD-current: 2003 年 3 月 6 日
NetBSD-1.6 ブランチ: 2003 年 3 月 6 日 (1.6.1 は修正ずみ)
NetBSD-1.5 ブランチ: 2003 年 3 月 6 日
pkgsrc devel/zlib: zlib-1.1.4nb1 で修正
概要 - Abstract
===============
zlib の gzprintf 関数は、ユーザーから渡されたデータの境界チェックを
行なっていません。この関数がアプリケーション中でどう使われているかにも
よりますが、悪意を持って作成されたデーターを渡すことで
バッファーオーバーフローを発生させ、そのアプリケーションを
実行しているユーザーの権限で、任意のコードを実行できる可能性があります。
NetBSD システムに含まれるプログラムに、gzprintf 関数を使っているものは
含まれていません。しかし、pkgsrc を含むサードパーティー製ソフトウェアの
中には、この関数を使っているものが存在するかも知れません。
技術的な詳細 - Technical Details
================================
zlib を使っているプログラムは数多くあります。しかし、その大部分は
復元 (decompression) 機能のみを使っています。gzprintf 関数は圧縮機能を
持った printf 関数であり、これが使われることは比較的稀です。
また、zlib がネットワークで使用される場合は、一般にローカルホストから
ネットワーク経由でデーターを圧縮して送る目的で使われます。したがって、
このバグをリモートから悪用可能なアプリケーションは、ほとんどないでしょう。
ただし、ローカルから不正に高い権限を得るためにこれが利用される可能性は
否定できません。NetBSD のベースシステムに gzprint 関数を使っている
バイナリーは含まれていませんが、アプリケーションの権限を不正に得るために、
誰かがこの弱点を持ったアプリケーションを自分のユーザーの権限で
実行することは、十分に考えられることです。
NetBSD セキュリティーオフィサーは、弱点を持った pkg のリストを作成するために
pkgsrc コードの監査を行なっています。その成果物は audit-packages
データーベースに記録され、このセキュリティー勧告にも反映される予定です。
また、zlib を提供していないオペレーティングシステムのために、
サードパーティー製の配布ファイルの多くが、それぞれ独自に zlib を
含んでいることに注意する必要があるでしょう。NetBSD pkgsrc では、
そのようなアプリケーションに configure スクリプトが存在する場合、
それが NetBSD に含まれている修正ずみの zlib を正しく検出するように
してあります。
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0107
回避方法と解決策 - Solutions and Workarounds
============================================
次に示す手順は、ソースツリーを更新して再構築し、新しいバージョンの
zlib をインストールすることで、zlib ライブラリーをアップグレード
する方法を説明したものです。
* NetBSD-current:
2003 年 3 月 5 日より前の NetBSD-current は、
2003 年 3 月 6 日、もしくはそれ以降の NetBSD-current に
アップグレードする必要があります。
CVS ブランチ netbsd-current (別名 HEAD) において
更新が必要なファイルは、次のとおりです。
lib/libz/gzio.c
CVS を使ってファイルを更新し、libz を
再構築・再インストールするには、次のコマンドを実行してください。
# cd src
# cvs update -d -P lib/libz/gzio.c
# cd lib/libz
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
* NetBSD 1.6:
NetBSD 1.6 のバイナリー配布物には、このセキュリティー上の弱点が
含まれています。
2003 年 3 月 5 日より前の NetBSD 1.6 は、
2003 年 3 月 6 日、もしくはそれ以降の NetBSD 1.6 に
アップグレードする必要があります。
NetBSD 1.6.1 には、この弱点に対する修正が含まれる予定です。
CVS ブランチ netbsd-1-6 において
更新が必要なファイルは、次のとおりです。
lib/libz/gzio.c
CVS を使ってファイルを更新し、libz を
再構築・再インストールするには、次のコマンドを実行してください。
# cd src
# cvs update -d -P -r netbsd-1-6 lib/libz/gzio.c
# cd lib/libz
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
もしくは、次の修正パッチを適用します (オフセット誤差があるかも知れません)。
ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2003-004-zlib-1.6.patch
修正パッチを適用して libz を再構築・再インストールするには、
次のコマンドを実行してください。
# cd src/lib/libz
# patch < /path/to/SA2003-004-zlib-1.6.patch
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
* NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3:
NetBSD 1.5.3 のバイナリー配布物には、このセキュリティー上の弱点が
含まれています。
2003 年 3 月 5 日より前の NetBSD-1.5, 1.5.1, 1.5.2, 1.5.3 は、
2003 年 3 月 6 日、もしくはそれ以降の NetBSD-1.5.* に
アップグレードする必要があります。
CVS ブランチ netbsd-1-5 において
更新が必要なファイルは、次のとおりです。
lib/libz/gzio.c
CVS を使ってファイルを更新し、再構築・再インストールするには、
次のコマンドを実行してください。
# cd src
# cvs update -d -P -r netbsd-1-5 lib/libz/gzio.c
# cd lib/libz
# make cleandir dependall
# make install
もしくは、次の修正パッチを適用します (オフセット誤差があるかも知れません)。
ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2003-004-zlib-1.5.patch
修正パッチを適用して libz を再構築・再インストールするには、
次のコマンドを実行してください。
# cd src/lib/libz
# patch < /path/to/SA2003-004-zlib-1.5.patch
# make cleandir dependall
# make install
謝辞 - Thanks To
================
Bill Squier 氏: 修正パッチを作成してくれました。
Lubomir Sedlacik 氏: この弱点が問題であることを指摘してくれました。
改訂履歴 - Revision History
===========================
2003-03-26 初版公開
2003-03-27 Thomas Lotterer 氏の指摘により CVE URL を修正
詳細と参考資料 - More Information
=================================
新しい情報が判明した場合、セキュリティー勧告は更新されることがあります。
PGP 署名されたこの勧告の最新版は、次の場所から入手できます。
ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2003-004.txt.asc
NetBSD および NetBSD のセキュリティーに関する情報は、次の場所から入手できます。
http://www.NetBSD.ORG/
http://www.NetBSD.ORG/Security/
Copyright 2003, The NetBSD Foundation, Inc. All Rights Reserved.
Redistribution permitted only in full, unmodified form.
$NetBSD: NetBSD-SA2003-004.txt,v 1.6 2003/03/27 15:17:13 david Exp $