From owner-doc-jp@jp.freebsd.org  Wed Nov  8 02:32:56 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id CAA49892;
	Wed, 8 Nov 2000 02:32:56 +0900 (JST)
	(envelope-from owner-doc-jp@jp.FreeBSD.org)
Received: from eos.ocn.ne.jp (eos.ocn.ne.jp [210.190.142.171])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id CAA49887
	for <doc-jp@jp.freebsd.org>; Wed, 8 Nov 2000 02:32:56 +0900 (JST)
	(envelope-from hrs@eos.ocn.ne.jp)
Received: from mail.hrslab.yi.org (p0189-ip01funabasi.chiba.ocn.ne.jp [211.123.225.189])
	by eos.ocn.ne.jp (8.9.1a/OCN/) with ESMTP id CAA02058
	for <doc-jp@jp.freebsd.org>; Wed, 8 Nov 2000 02:32:54 +0900 (JST)
Message-Id: <200011071732.CAA02058@eos.ocn.ne.jp>
Received: from localhost (alph.hrslab.yi.org [192.168.0.10])
	by mail.hrslab.yi.org (8.9.3/3.7W/DomainMaster) with ESMTP id CAA14357
	for <doc-jp@jp.freebsd.org>; Wed, 8 Nov 2000 02:28:27 +0900 (JST)
	(envelope-from hrs@eos.ocn.ne.jp)
To: doc-jp@jp.freebsd.org
In-Reply-To: <20001106201404.5C3C337B661@hub.freebsd.org>
References: <20001106201404.5C3C337B661@hub.freebsd.org>
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Wed_Nov__8_02:27:47_2000_809)--"
Content-Transfer-Encoding: 7bit
Date: Wed, 08 Nov 2000 02:28:26 +0900
From: Hiroki Sato <hrs@eos.ocn.ne.jp>
X-Dispatcher: imput version 20000228(IM140)
Lines: 213
Reply-To: doc-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: doc-jp 7816
Subject: [doc-jp 7816] Re: ANNOUNCE: FreeBSD Ports Security Advisory:
 FreeBSD-SA-00:64.global
Errors-To: owner-doc-jp@jp.freebsd.org
Sender: owner-doc-jp@jp.freebsd.org
X-Originator: hrs@eos.ocn.ne.jp

----Next_Part(Wed_Nov__8_02:27:47_2000_809)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B:4F#!wEl5~M}2JBg3X$G$9!#(B

 00:64 $B$NK]Lu$G$9!#(B

--
| $B:4F#(B $B9-@8!wEl5~M}2JBg3X(B <hrs@eos.ocn.ne.jp>
|
| sato@sekine00.ee.noda.sut.ac.jp (UNIV)
| hrs@FreeBSD.org (FreeBSD Project)

----Next_Part(Wed_Nov__8_02:27:47_2000_809)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Disposition: attachment; filename="00:64"
Content-Transfer-Encoding: 7bit

 $B$3$N%a!<%k$O(B, announce-jp $B$KN.$l$?(B

  Subject: ANNOUNCE: FreeBSD Ports Security Advisory: FreeBSD-SA-00:64.global
  From: FreeBSD Security Advisories <security-advisories@freebsd.org>
  Date: Mon,  6 Nov 2000 12:14:04 -0800 (PST)
  Message-Id: <20001106201404.5C3C337B661@hub.freebsd.org>
  X-Sequence: announce-jp 592

 $B$rF|K\8lLu$7$?$b$N$G$9(B. 

 $B$3$N4+9p$NCf$G>R2p$5$l$F$$$k(B WWW $B%5%$%H(B http://www.FreeBSD.org/ $B$*$h$S(B
 FTP $B%5%$%H(B ftp://ftp.FreeBSD.org/ $B$K$O(B, $BF|K\$N%_%i!<%5%$%H$,B8:_$7$^$9(B.
 $B%_%i!<%5%$%H$rMxMQ$9$k$K$O(B,
 http://www.FreeBSD.org/ $B$r(B http://www.jp.FreeBSD.org/www.freebsd.org/ $B$K(B,
 ftp://ftp.FreeBSD.org/ $B$r(B ftp://ftp.jp.FreeBSD.org/ $B$K(B,
 $B$=$l$>$lCV$-49$($F$/$@$5$$(B.

 $B%M%C%H%o!<%/$N:.;($r4KOB$9$k$?$a(B, $B$^$:$O%_%i!<%5%$%H$NMxMQ$r(B
 $B9MN8$9$k$h$&$*4j$$$7$^$9(B.  $B%_%i!<%5%$%H$K4X$9$k>\:Y$O(B

  http://www.FreeBSD.org/handbook/mirror.html ($B1QJ8(B)
  http://www.FreeBSD.org/ja/handbook/mirror.html ($BF|K\8lLu(B)

 $B$K(B, $B$^$?(B, $B2a5n$NF|K\8lHG%;%-%e%j%F%#4+9p$O(B

  http://www.FreeBSD.org/ja/security/

 $B$K$^$H$a$i$l$F$$$^$9(B.

 $B86J8$O(B PGP $B=pL>$5$l$F$$$^$9$,(B, $B$3$NF|K\8lLu$O(B PGP $B=pL>$5$l$F$$$^$;$s(B. 
 $B%Q%C%AEy$NFbMF$,2~cb$5$l$F$$$J$$$3$H$r3NG'$9$k$?$a$K(B PGP $B$N%A%'%C%/$r(B
 $B9T$J$&$K$O(B, $B86J8$r;2>H$7$F$/$@$5$$(B. 

 $BF|K\8lLu$O(B FreeBSD $BF|K\8l%I%-%e%a%s%F!<%7%g%s%W%m%8%'%/%H(B (doc-jp) $B$,;29M$N(B
 $B$?$a$KDs6!$9$k$b$N$G(B, doc-jp $B$O(B $B$=$NFbMF$K$D$$$F$$$+$J$kJ]>Z$b$$$?$7$^$;$s(B.
 $BF|K\8lLu$K$D$$$F$N$*Ld$$9g$o$;$O(B doc-jp@jp.FreeBSD.org $B$^$G$*4j$$$7$^$9(B.

--($B$3$3$+$i(B)
=============================================================================
FreeBSD-SA-00:64                                           Security Advisory
                                                                FreeBSD, Inc.

$B%H%T%C%/(B:	global port allows remote compromise through CGI script

$BJ,N`(B:		ports
$B%b%8%e!<%k(B:	global
$B9pCNF|(B:		2000-11-06
$B%/%l%8%C%H(B:	Shigio Yamaguchi <shigio@tamacom.com> 
$B1F6AHO0O(B:	$B=$@5F|A0$N(B Ports Collection
$B=$@5F|(B:		2000-10-09
$B%Y%s%@$NBP1~(B:	$B=$@5HG$,8x3+:Q$_(B
FreeBSD $B$K8GM-$+(B:	NO

I.   $BGX7J(B - Background

global is a source-code tagging system for indexing and searching
large bodies of source code.

global $B$OBg5,LO$J%=!<%9%3!<%IK\BN$N:w0z:n@.$d(B, $B8!:w$r9T$J$&$?$a$N(B
$B%=!<%9%3!<%I%?%0IU$1%7%9%F%`$G$9(B.

II.  $BLdBj$N>\:Y(B - Problem Description

The global port, versions 3.5 through to 3.55, contains a
vulnerability in the CGI script generated by the htags utility which
allows a remote attacker to execute code on the local system as the
user running the script, typically user 'nobody' in most
installations.

global port $B$N%P!<%8%g%s(B 3.5 $B$+$i(B 3.55 $B$^$G$N$b$N$K$O(B,
htags $B%f!<%F%#%j%F%#$K$h$C$F@8@.$5$l$k(B CGI $B%9%/%j%W%H$NCf$K(B
$B%j%b!<%H$N967b<T$,%m!<%+%k%7%9%F%`>e$K$*$$$F(B, $B%9%/%j%W%H$r(B
$B<B9T$7$F$$$k%f!<%6$N8"8B$G%3!<%I$r<B9T$G$-$k$h$&$J(B
$B%;%-%e%j%F%#>e$N<eE@$,B8:_$7$^$9(B.  $B%9%/%j%W%H$r<B9T$7$F$$$k(B
$B%f!<%6$ODL>o(B, $BBgItJ,$N%7%9%F%`$G(B 'nobody' $B$H$J$C$F$$$^$9(B.

There is no vulnerability in the default installation of the port, but
if an administrator uses the 'htags -f' command to generate a CGI
script enabling the browsing of source code, then the system is
vulnerable to attack caused by incorrect validation of input.

$B$3$N%;%-%e%j%F%#>e$N<eE@$O(B, port $B$r%$%s%9%H!<%k$7$?I8=`$N>uBV$G$O(B
$BB8:_$7$^$;$s(B.  $B$7$+$7(B, $B%7%9%F%`4IM}<T$,(B 'htags -f' $B%3%^%s%I$r<B9T$7$F(B
$B%=!<%9%3!<%I$r1\Mw$9$k$?$a$N(B CGI $B%9%/%j%W%H$r@8@.$9$k$H(B, $B%7%9%F%`$O(B
$B967b$KBP$7$F<eE@$r;}$D$h$&$K$J$j$^$9(B.  $B$3$l$O(B, $B$=$N%9%/%j%W%H$,(B
$BF~NO$KBP$7$FE,@Z$J%A%'%C%/$r9T$J$o$J$$$3$H$,860x$G$9(B.

An older version of global was included in previous releases of
FreeBSD; this is not vulnerable to the problem described here.

FreeBSD $B$K4^$^$l$k(B global $B$O8E$$%P!<%8%g%s$N$b$N$G$"$j(B,
$B$3$3$G=R$Y$i$l$F$$$k%;%-%e%j%F%#>e$N<eE@$OB8:_$7$^$;$s(B.

The global port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 4100 third-party applications in a ready-to-install
format.  The ports collections shipped with FreeBSD 3.5.1 and 4.1.1
contain this problem since it was discovered after the releases, but
it was corrected prior to the release of FreeBSD 4.2.

FreeBSD makes no claim about the security of these third-party
applications, although an effort is underway to provide a security
audit of the most security-critical ports.

global $B$N(B port $B$O%G%U%)%k%H$G%$%s%9%H!<%k$5$l$k$b$N$G$O$J$/(B,
$B!V(BFreeBSD $B%7%9%F%`$N0lIt!W$r9=@.$9$k$b$N$G$b$"$j$^$;$s(B.
$B$=$l$i$O(B 4100 $B$r1[$($k%5!<%I%Q!<%F%#@=%"%W%j%1!<%7%g%s$,$9$0$K(B
$B%$%s%9%H!<%k$G$-$k7A$G<}$a$i$l$F$$$k(B FreeBSD Ports Collection $B$N0lIt$G$9(B.
$B%j%j!<%98e$KLdBj$,8+$D$+$C$?$?$a(B, FreeBSD 3.5.1 $B$*$h$S(B 4.1.1 $B$H$H$b$K(B
$B=P2Y$5$l$?(B Ports Collection $B$O$3$NLdBj$r4^$s$G$$$^$9$,(B, $B$3$NLdBj$O(B
FreeBSD 4.2 $B$N%j%j!<%9A0$K=$@5$5$l$^$7$?(B.

FreeBSD $B$G$O(B, $B$3$N$h$&$J%5!<%I%Q!<%F%#@=%"%W%j%1!<%7%g%s$N%;%-%e%j%F%#(B
$BLdBj$KBP$7$F(B, $BFC$K2?$+$r<gD%$9$k$3$H$O$"$j$^$;$s(B ($BLuCm(B: Ports Collection $B$K(B
$BF~$C$F$$$k$+$i$H$$$C$F(B, FreeBSD $B$N3+H/<T$?$A$,$=$N%"%W%j%1!<%7%g%s$,(B
$B0BA4$G$"$k$HI>2A$7$?$o$1$G$O$"$j$^$;$s(B).  $B$?$@$7(B, $B%;%-%e%j%F%#LdBj$KBP$7$F(B
$BBg$-$J1F6A$r;}$D$h$&$J(B ports $B$KBP$9$k%;%-%e%j%F%#4F::$rDs6!$9$Y$/(B,
$B8=:_EXNOCf$G$9(B.

III. $B1F6AHO0O(B - Impact

If the 'htags -f' command is used to generate a CGI script which is
then installed under a webserver, then remote users may execute
arbitrary commands on the local system as the user which runs the CGI
script.

'htags -f' $B%3%^%s%I$r<B9T$7$F(B CGI $B%9%/%j%W%H$r@8@.$7%&%'%V%5!<%P$K(B
$B%$%s%9%H!<%k$7$?>l9g(B, $B%j%b!<%H%f!<%6$O%m!<%+%k%7%9%F%`$K$*$$$F(B,
CGI $B%9%/%j%W%H$r<B9T$9$k%f!<%6$N8"8B$GG$0U$N%3!<%I$r<B9T$9$k$3$H$,(B
$B$G$-$k4m81@-$,$"$j$^$9(B.

If you have not chosen to install the global port/package, or you have
not used the 'htags -f' command to produce a CGI script, then your
system is not vulnerable to this problem.

global $B$N(B port/package $B$r%$%s%9%H!<%k$7$F$$$J$$$+(B, $B$b$7$/$O(B
'htags -f' $B$r;H$C$F(B CGI $B%9%/%j%W%H$r:n@.$7$F$$$J$1$l$P(B,
$B%7%9%F%`$K$3$NLdBj$K$h$k%;%-%e%j%F%#>e$N<eE@$O$"$j$^$;$s(B.


IV.  $B2sHrJ}K!(B - Workaround

Deinstall the global port/package, if you you have installed it, or
remove the 'global.cgi' file installed on the website.

global $B$N(B port/package $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g$O(B
$B$=$l$r%7%9%F%`$+$i:o=|$9$k$+(B, $B$b$7$/$O%&%'%V%5%$%H$K(B
$B%$%s%9%H!<%k$5$l$F$$$k(B 'global.cgi' $B$H$$$&%U%!%$%k$r:o=|$7$F$/$@$5$$(B.

V.   $B2r7h:v(B - Solution

One of the following:
$B<!$N$$$:$l$+$K=>$C$F$/$@$5$$(B.

1) Upgrade your entire ports collection and rebuild the global port.
1) Ports Collection $BA4BN$r%"%C%W%0%l!<%I$7(B, global $B$N(B port $B$r:F9=C[$7$^$9(B.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from:
2) $B8E$$(B ($BLuCm(B: global $B$N(B) package $B$r%7%9%F%`$+$i:o=|$7(B, $B=$@5F|0J9_$K(B
   $B:n@.$5$l$??7$7$$(B package $B$r0J2<$N>l=j$+$i<hF@$7$F%$%s%9%H!<%k$7$^$9(B.

ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/devel/global-4.0.1.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/devel/global-4.0.1.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-4-stable/devel/global-4.0.1.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/devel/global-4.0.1.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-5-current/devel/global-4.0.1.tgz

3) download a new port skeleton for the cvsweb port from:
3) global port $B$N?7$7$$(B port $B%9%1%k%H%s$r0J2<$N>l=j$+$i%@%&%s%m!<%I$7(B,
   $B$=$l$r;H$C$F(B port $B$r:F9=C[$7$^$9(B.

http://www.freebsd.org/ports/

and use it to rebuild the port.

    [$BLuCm(B] $B86J8$G$O(B cvsweb $B$H$J$C$F$$$^$9$,(B, $B8m5-$@$H;W$o$l$^$9(B.

4) Use the portcheckout utility to automate option (3) above. The
portcheckout port is available in /usr/ports/devel/portcheckout or the
package can be obtained from:
4) $B>e5-(B (3) $B$NA`:n$r<+F0E*$K9T$J$&(B portcheckout $B%f!<%F%#%j%F%#$r;H$$$^$9(B.
   portcheckout $B$N(B port $B$O(B /usr/ports/devel/portcheckout $B$K$"$j$^$9(B.
   $B$^$?(B, portcheckout $B$N(B package $B$,0J2<$N>l=j$+$iF~<j2DG=$G$9(B.

ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/devel/portcheckout-2.0.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/devel/portcheckout-2.0.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-4-stable/devel/portcheckout-2.0.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/devel/portcheckout-2.0.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-5-current/devel/portcheckout-2.0.tgz

$hrs: FreeBSD-SA/00:64,v 1.1 2000/11/07 17:23:31 hrs Exp $

----Next_Part(Wed_Nov__8_02:27:47_2000_809)----
