From owner-doc-jp@jp.freebsd.org  Thu Jul 13 21:04:59 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id VAA01585;
	Thu, 13 Jul 2000 21:04:59 +0900 (JST)
	(envelope-from owner-doc-jp@jp.FreeBSD.org)
Received: from TYO202.gate.nec.co.jp (TYO202.gate.nec.co.jp [202.247.6.41])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id VAA01580
	for <doc-jp@jp.freebsd.org>; Thu, 13 Jul 2000 21:04:59 +0900 (JST)
	(envelope-from y-koga@jp.FreeBSD.org)
Received: from mailsv4.nec.co.jp (mailsv4-le1 [192.168.1.93])
	by TYO202.gate.nec.co.jp (8.9.3/3.7W00052210) with ESMTP id VAA11346
	for <doc-jp@jp.freebsd.org>; Thu, 13 Jul 2000 21:04:57 +0900 (JST)
Received: from mmssv.mms.mt.nec.co.jp (mmssv.mms.mt.nec.co.jp [133.201.63.216]) by mailsv4.nec.co.jp (8.9.3/3.7W-MAILSV4-NEC) with ESMTP
	id VAA13409 for <doc-jp@jp.freebsd.org>; Thu, 13 Jul 2000 21:04:57 +0900 (JST)
Received: from koga.do.mms.mt.nec.co.jp (koga.do.mms.mt.nec.co.jp [10.16.5.16]) by mmssv.mms.mt.nec.co.jp (8.8.4+2.7Wbeta4/3.4W3MMS96052011) with ESMTP id UAA01152 for <doc-jp@jp.freebsd.org>; Thu, 13 Jul 2000 20:58:48 +0900 (JST)
Received: from localhost (localhost [127.0.0.1])
	by koga.do.mms.mt.nec.co.jp (8.10.2/3.7W-00052406) with ESMTP id e6DC4uR19338;
	Thu, 13 Jul 2000 21:04:56 +0900 (JST)
Message-Id: <200007131204.e6DC4uR19338@koga.do.mms.mt.nec.co.jp>
To: doc-jp@jp.freebsd.org
In-Reply-To: <20000711220220.4D26637B8FC@hub.freebsd.org>
References: <20000711220220.4D26637B8FC@hub.freebsd.org>
X-Mailer: Mew version 1.94.2 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Thu, 13 Jul 2000 21:04:55 +0900 (JST)
From: Koga Youichirou <y-koga@jp.freebsd.org>
X-Dispatcher: imput version 20000228(IM140)
Lines: 199
Reply-To: doc-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: doc-jp 7543
Subject: [doc-jp 7543] Re: ANNOUNCE: FreeBSD Ports Security Advisory:
 FreeBSD-SA-00:31.canna [REVISED]
Errors-To: owner-doc-jp@jp.freebsd.org
Sender: owner-doc-jp@jp.freebsd.org
X-Originator: y-koga@jp.freebsd.org

$B;D$j$O!"(B
FreeBSD-SA-00:32
FreeBSD-SA-00:33

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

  Subject: ANNOUNCE: FreeBSD Ports Security Advisory: FreeBSD-SA-00:31.canna [REVISED]
  From: FreeBSD Security Advisories <security-advisories@freebsd.org>
  Date: Tue, 11 Jul 2000 15:02:20 -0700 (PDT)
  Message-Id: <20000711220220.4D26637B8FC@hub.freebsd.org>
  X-Sequence: announce-jp 477

 $B$rF|K\8lLu$7$?$b$N$G$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:31                                           Security Advisory
                                                                FreeBSD, Inc.

$B%H%T%C%/(B:	Canna port contains remote vulnerability [REVISED]

$BJ,N`(B:		ports
$B%b%8%e!<%k(B:	Canna
$B9pCNF|(B:		2000-07-05
$B2~D{F|(B:		2000-07-11
$B1F6AHO0O(B:	Ports Collection
$B=$@5F|(B:		2000-06-29
$B%/%l%8%C%H(B:	Shadow Penguin Security
		<http://shadowpenguin.backsection.net/advisories/index.html>
$B%Y%s%@$N%9%F!<%?%9(B:	$BG'<1:Q(B
FreeBSD $B$K8GM-$+(B:	NO

I.   $BGX7J(B - Background

Canna is a Kana-Kanji conversion server.

Canna ($BLuCm(B: $B!V$+$s$J!W(B) $B$O2>L>4A;zJQ49%5!<%P$G$9(B. 

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

The Canna server contains an overflowable buffer which may be
exploited by a remote user to execute arbitrary code on the local
system as user 'bin'.

$B!V$+$s$J!W$N%5!<%P%W%m%0%i%`$K$O(B, $B%j%b!<%H$N%f!<%6$,%f!<%6(B 'bin' $B8"8B(B
$B$GG$0U$N%3!<%I$r%m!<%+%k%7%9%F%`>e$G<B9T$5$;$k967b$,2DG=$H$J$k(B buffer
overflow $B$N%P%0$,B8:_$7$^$9(B. 

The Canna 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 3500 third-party applications in a ready-to-install
format. The ports collection shipped with FreeBSD 3.5 contains this
vulnerability since it was discovered after the release.

Canna $B$N(B port $B$O%G%U%)%k%H$G%$%s%9%H!<%k$5$l$k$b$N$G$O$J$/(B, FreeBSD 
$B%7%9%F%`$N0lIt$r9=@.$9$k$b$N$G$b$"$j$^$;$s(B. $B$=$l$i$O(B, 3500 $B$rD6$($k%5(B
$B!<%I%Q!<%F%#@=$N%"%W%j%1!<%7%g%s$,$9$0$K%$%s%9%H!<%k$G$-$k7A$G<}$a$i$l(B
$B$F$$$k(B FreeBSD Ports Collection $B$N0lIt$G$9(B. FreeBSD 3.5 $B$H$H$b$K=P2Y$5(B
$B$l$?(B ports $B%3%l%/%7%g%s$O(B, $B%j%j!<%98e$KLdBj$,8+$D$+$C$?$?$a$K$3$NLdBj(B
$B$r4^$s$G$$$^$9(B.

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.

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$KF~$C$F$$$k$+$i$H$$$C$F(B, FreeBSD $B$N3+H/<T$?$A$,$=$N%"%W%j(B
$B%1!<%7%g%s$,0BA4$G$"$k$HI>2A$7$?$o$1$G$O$"$j$^$;$s(B). $B$?$@$7(B, $B%;%-%e%j(B
$B%F%#LdBj$KBP$7$FBg$-$J1F6A$r;}$D$h$&$J(B ports $B$KBP$9$k%;%-%e%j%F%#4F::(B
$B$rDs6!$9$Y$/(B, $B8=:_EXNOCf$G$9(B. 

III. $B1F6AHO0O(B - Impact

Remote users can run arbitrary code as user 'bin' on the local system.
Depending on the local system configuration, the attacker may be able
to upgrade privileges further by exploiting local vulnerabilities.

$B%j%b!<%H$N%f!<%6$,(B, $B%f!<%6(B 'bin' $B$N8"8B$GG$0U$N%3!<%I$r%m!<%+%k%7%9%F(B
$B%`>e$G<B9T$9$k$3$H$,2DG=$G$9(B. $B%m!<%+%k%7%9%F%`$N@_Dj$K$h$C$F$O(B, $B%m!<%+(B
$B%k%7%9%F%`$NB>$N<eE@$rMxMQ$9$k$3$H$G(B, $B967b<T$O$5$i$K8"8B$r9b$a$k$3$H$,(B
$B$G$-$k$+$b$7$l$^$;$s(B. 

If you have not chosen to install the Canna port/package, then your
system is not vulnerable to this problem.

Canna $B$N(B port/package $B$r%$%s%9%H!<%k$7$F$$$J$1$l$P(B, $B$=$N%7%9%F%`$K$3$N(B
$BLdBj$K$D$$$F$N%;%-%e%j%F%#>e$N<eE@$O$"$j$^$;$s(B.

IV.  Workaround

One of the following:

$B0J2<$N$$$:$l$+$r9T$J$C$F$/$@$5$$(B. 

1) Deinstall the Canna port/package, if you you have installed it.

1) Canna $B$N(B port/package $B$r%$%s%9%H!<%k$7$F$$$k>l9g(B, $B$=$l$r%"%s%$%s%9(B
$B%H!<%k$9$k(B. 

2) Consider limiting remote access to the Canna server using ipfw(8)
or ipf(8).

2) ipfw(8) $B$^$?$O(B ipf(8) $B$r;HMQ$7$F(B, $B!V$+$s$J!W$N%5!<%P$X$N%j%b!<%H$+(B
$B$i$N%"%/%;%9$r@)8B$9$k$3$H$r8!F$$9$k(B. 

3) Create a /etc/hosts.canna file on the Canna server and list the
hosts which you wish to allow access to the Canna server. For example,
if you want to allow access via localhost only, include the following
in your /etc/hosts.canna file:

3) $B!V$+$s$J!W$N%5!<%P%[%9%H$K(B /etc/hosts.canna $B%U%!%$%k$r:n@.$7(B, $B!V$+(B
$B$s$J!W$N%5!<%P$X$N%"%/%;%9$r5v2D$9$k%[%9%H$rNs5-$9$k(B. $B$?$H$($P(B, 
localhost $B$+$i$N%"%/%;%9$N$_5v2D$9$k>l9g(B, /etc/hosts.canna $B%U%!%$%k$N(B
$BFbMF$r0J2<$N$h$&$K$7$^$9(B. 

        localhost
        unix

If you want to allow access via localhost and some-other-host.com,
which has IP address x.y.z.w, include the following:

localhost $B$H(B IP $B%"%I%l%9$,(B x.y.z.w $B$N(B some-other-host.com $B$+$i$N%"%/%;(B
$B%9$r5v2D$9$k>l9g(B, $B0J2<$N$h$&$K$7$^$9(B. 

        localhost
        unix
        x.y.z.w

V.   $B=$@5=hCV(B - Solution

One of the following:

$B0J2<$N$$$:$l$+$r9T$J$C$F$/$@$5$$(B. 

1) Upgrade your entire ports collection and rebuild the Canna port.

1) Ports Collection $BA4BN$r99?7$7$F(B, Canna $B$N(B port $B$r:F%3%s%Q%$%k$9$k(B.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from:

2) $B8E$$(B package $B$r%"%s%$%s%9%H!<%k$7(B, $B=$@5F|0J9_$N?7$7$$(B package $B$r%$(B
   $B%s%9%H!<%k$9$k(B. $B?7$7$$%Q%C%1!<%8$O(B, $B0J2<$N>l=j$+$iF~<j2DG=$G$9(B. 

ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-4-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-5-current/japanese/ja-Canna-3.2.2.tgz

Note: it may be several days before updated packages are available.

$BCm0U(B: $B99?7$5$l$?(B packages $B$,Ds6!$5$l$k$^$G?tF|$+$+$k$+$b$7$l$^$;$s(B. 

3) download a new port skeleton for the Canna port from:

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

and use it to rebuild the port.

3) $B0J2<$N>l=j$+$i(B Canna $B$N?7$7$$(B port $B%9%1%k%H%s$r%@%&%s%m!<%I$7(B,
   $B$=$l$r;HMQ$7$F(B Canna $B$N(B port $B$r:F%3%s%Q%$%k$9$k(B.

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

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) portcheckout $B%f!<%F%#%j%F%#$r;HMQ$9$k$H(B, $B>e5-(B (3) $B$r<+F0E*$K(B
   $B9T$J$&$3$H$,$G$-$^$9(B.  portcheckout $B$O(B,
   /usr/ports/devel/portcheckout $B$d(B, $B0J2<$N>l=j$+$iF~<j2DG=$G$9(B. 

ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/devel/portcheckout-1.0.tgz

VI.   $B2~D{MzNr(B - Revision History

v1.0  2000-07-05  Initial release
v1.1  2000-07-11  Add additional access-control method submitted by KOJIMA Hajime <kjm@rins.ryukoku.ac.jp>
                  Correct package URL. Update size of ports collection.

v1.0  2000-07-05  $B=iHG8x3+(B
v1.1  2000-07-11  $B>.EgH%;a(B <kjm@rins.ryukoku.ac.jp> $B$+$iDs<($5$l$?%"%/(B
                  $B%;%9@)8fJ}K!$rDI2C(B, package $B$N(B URL $B=$@5(B, Ports
                  Collection $B$N5,LO$r99?7(B

END--------------------- $B$3$3$^$G(B ------------------------
----
$B$3$,$h$&$$$A$m$&(B
