From owner-announce-jp@jp.FreeBSD.org Mon Jan  7 09:51:40 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g070peA53672;
	Mon, 7 Jan 2002 09:51:40 +0900 (JST)
	(envelope-from owner-announce-jp@jp.FreeBSD.org)
Date: Mon, 07 Jan 2002 00:57:11 +0900 (JST)
Message-Id: <20020107.005711.26958878.hrs@eos.ocn.ne.jp>
To: announce-jp@jp.FreeBSD.org
From: Hiroki Sato <hrs@eos.ocn.ne.jp>
In-Reply-To: <200201050104.g0514Dr92957@freefall.freebsd.org>
References: <200201050104.g0514Dr92957@freefall.freebsd.org>
X-Mailer: Mew version 2.1 on Emacs 20.7 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
X-ML-maintainer: owner-announce-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: announce-jp 890
Subject: Re: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-02:01.pkg_add
Errors-To: owner-announce-jp@jp.FreeBSD.org
Sender: owner-announce-jp@jp.FreeBSD.org



FreeBSD $B%;%-%e%j%F%#4+9p(B $BF|K\8lHG(B
=============================================================================
FreeBSD-SA-02:01 (2002-01-04)
 * Directory permission vulnerability in pkg_add
=============================================================================

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

  Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-02:01.pkg_add
  From: FreeBSD Security Advisories <security-advisories@FreeBSD.ORG>
  Date: Fri, 4 Jan 2002 17:04:13 -0800 (PST)
  Message-Id: <200201050104.g0514Ds92963@freefall.freebsd.org>
  X-Sequence: announce-jp 884

 $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=$@5%Q%C%AEy$NFbMF$,2~$6$s$5$l$F$$$J$$$3$H$r3NG'$9$k$?$a$K(B PGP $B=pL>$N(B
 $B%A%'%C%/$r9T$J$&$K$O(B, $B86J8$r;2>H$7$F$/$@$5$$(B. 

 $BF|K\8lLu$*$h$S(B, $B%_%i!<%5%$%HMxMQ$N>\:Y$K$D$$$F$O(B, $BJ8Kv$N!V(BA. FreeBSD
 $B%;%-%e%j%F%#4+9p(B $BF|K\8lHG$K$D$$$F!W$r$4Mw$/$@$5$$(B.


                                     [$BK]Lu<T(B: $B:4F#(B $B9-@8(B <hrs@jp.FreeBSD.org>]
--($B$3$3$+$i(B)
=============================================================================
FreeBSD-SA-02:01                                            Security Advisory
                                                                FreeBSD, Inc.

$B%H%T%C%/(B:	pkg_add $B$K$*$1$k%G%#%l%/%H%j5v2DB0@-$K5/0x$9$k(B
                $B%;%-%e%j%F%#>e$N<eE@(B
                (Directory permission vulnerability in pkg_add)

$BJ,N`(B:		core
$B%b%8%e!<%k(B:	pkg_install
$B9pCNF|(B:		2002-01-04
$B%/%l%8%C%H(B:	The Anarcat <anarcat@anarcat.dyndns.org>
$B1F6AHO0O(B:	$B=$@5F|0JA0$N$9$Y$F$N%P!<%8%g%s$N(B FreeBSD
$B=$@5F|(B:		2001/11/22 17:40:36 UTC (4.4-STABLE, $BJLL>(B RELENG_4)
                2001/12/07 20:58:46 UTC (4.4-RELEASEp1, $BJLL>(B RELENG_4_4)
                2001/12/07 20:57:19 UTC (4.3-RELEASEp21, $BJLL>(B RELENG_4_3)
FreeBSD $B$K8GM-$+(B:	NO


I.   $BGX7J(B - Background

pkg_add $B$O(B, FreeBSD $B%7%9%F%`$K$*$$$F%=%U%H%&%'%"%Q%C%1!<%8$r(B
$B%$%s%9%H!<%k$9$k$?$a$KMQ$$$i$l$k%f!<%F%#%j%F%#%W%m%0%i%`$G$9(B.

  -- $BLuCm(B ---------------------------------------------------------
    doc-jp $B$G$O(B, $B0lHLE*$J(B binary package $B$H(B FreeBSD Ports
    Collection $B$NOHAH$G:n@.$5$l$k(B binary package $B$r(B, $B$=$l$>$l(B
    $B!V%Q%C%1!<%8!W(B, "package" $B$H$$$&$h$&$K6hJL$7$FI=5-$7$F$$$^$9(B.
  -----------------------------------------------------------------


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

pkg_add $B$O(B package $B$NFbMF$r0l;~%G%#%l%/%H%j$KE83+$7(B, $B$=$7$F(B
$BE83+$5$l$?%U%!%$%k$r(B, $B$=$N0l;~%G%#%l%/%H%j$+$i%7%9%F%`>e$N(B
$B%$%s%9%H!<%k@h$K0\F0$7$^$9(B.  $B$3$NE83+=hM}$KMQ$$$i$l$k(B
$B0l;~%G%#%l%/%H%j$O:#$^$G(B, $BC/$b$,=q$-9~$_2DG=$J5v2DB0@-$G(B
$B:n@.$5$l$F$$$^$7$?(B.  $B$=$N$?$a(B, $B%f!<%6$J$iC/$G$b(B package $B$,(B
$BE83+$5$l$?;~$K$=$NFbMF$r8+$k$3$H$,2DG=$K$J$C$F$$$^$7$?(B.
$B$^$?$3$N$3$H$O(B, $B%$%s%9%H!<%k;~$K%f!<%6$+$i(B package $B$K(B
$B4^$^$l$F$$$kC/$b$,=q$-9~$_2DG=$J%U%!%$%k$r967b$9$k$3$H$,(B
$B2DG=$G$"$k$H$$$&4m81@-$,$"$j$^$9(B.


III. $B1F6AHO0O(B - Impact

$B%m!<%+%k$N967b<T$O(B, package $B$NFbMF$r2~$6$s$9$k$3$H(B, $B$=$7$F(B
$B$=$l$rMxMQ$7$F$h$j9b$$8"8B$rF@$k$J$I(B, $B$=$N%7%9%F%`$KBP$9$k(B
$B6<0R$H$J$jF@$k2DG=@-$,$"$j$^$9(B.  $B$?$@$7(B, $B$3$N4+9p$,H/9T$5$l$?;~E@$G$O(B,
$B$3$N%;%-%e%j%F%#>e$N<eE@$r0-MQ$9$k6qBNE*$JJ}K!$O8+$D$+$C$F$$$^$;$s(B.


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

1) pkg_add $B%P%$%J%j$r%"%C%W%0%l!<%I$9$k$^$G(B, $B%P%$%J%j$r:o=|$9$k$+(B
   $B;HMQ$r95$($F$/$@$5$$(B.

2) pkg_add $B$r<B9T$9$k;~$K(B, $B0BA4$J0l;~%G%#%l%/%H%j(B ($B$?$H$($P(B
   /var/tmp/inst) $B$r:n@.$7(B, $B%G%#%l%/%H%j$N5v2DB0@-$r0BA4$J$b$N(B
   (chmod 700 /var/tmp/inst) $B$K@_Dj$7$^$9(B.  $B$=$7$F(B pkg_add $B$r(B
   $B<B9T$9$kA0$K(B TMPDIR $B4D6-JQ?t$K$3$N%G%#%l%/%H%j$r@_Dj$7$F$/$@$5$$(B.


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

1) $B<eE@$r;}$C$?(B FreeBSD $B%7%9%F%`$r(B, $B=$@5F|0J9_$N(B 4.4-STABLE, $B$"$k$$$O(B
   RELENG_4_4, RELENG_4_3 $B%;%-%e%j%F%#%V%i%s%A$K%"%C%W%0%l!<%I$7$^$9(B.

2) $B=$@5F|0JA0$N(B FreeBSD 4.x $B%7%9%F%`$N>l9g(B:

$B<!$N=$@5%Q%C%A$O(B, FreeBSD 4.3-RELEASE, 4.4-RELEASE, $B=$@5F|0JA0$N(B 4-STABLE $B$K(B
$BBP$7$FE,MQ2DG=$J$3$H$,3NG'$5$l$F$$$k$b$N$G$9(B.  $B$=$l$h$j$b8E$$%j%j!<%9$d(B
$B%5%]!<%H$5$l$F$$$J$$(B FreeBSD $B%j%j!<%9$KBP$7$F$O(B, $B$3$l$i$N=$@5%Q%C%A$,(B
$B@5$7$/E,MQ$G$-$J$$2DG=@-$,$"$j$^$9(B.

$B=$@5%Q%C%A$H(B PGP $B=pL>$r<!$N>l=j$+$i%@%&%s%m!<%I$7$F(B,
PGP $B%f!<%F%#%j%F%#$r;H$C$F(B PGP $B=pL>$r3NG'$7$^$9(B.

ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:01/pkg_add.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:01/pkg_add.patch.asc

$B$=$7$F(B root $B8"8B$G0J2<$N%3%^%s%I$r<B9T$7$^$9(B.

# cd /usr/src
# patch -p < /path/to/patch
# cd /usr/src/usr.sbin/pkg_install
# make depend && make all install


VI.  $B=$@5$N>\:Y(B - Correction details

$B<!$NI=$O(B, $B:#2s=$@5$5$l$?(B FreeBSD $B$N%=!<%9%U%!%$%k$N(B
$FreeBSD$ $B%j%S%8%g%sHV9f$G$9(B.

$B%Q%9L>(B                                                          $B%j%S%8%g%s(B
  $B%V%i%s%A(B
- -------------------------------------------------------------------------
src/usr.sbin/pkg_install/lib/pen.c
  HEAD                                                               1.37
  RELENG_4                                                       1.31.2.6
  RELENG_4_4                                                 1.31.2.2.2.1
  RELENG_4_3                                                 1.31.2.1.2.1
- -------------------------------------------------------------------------


VII. $B;29M;qNA(B - References

<URL:http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32172>

A.   FreeBSD $B%;%-%e%j%F%#4+9p(B $BF|K\8lHG$K$D$$$F(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$,(B
$B;29M$N$?$a$KDs6!$9$k$b$N$G$9(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.  

$B$?$@$7(B, $BK]Lu<T$*$h$S(B doc-jp $B$O(B, $B$=$NFbMF$K$D$$$F$$$+$J$kJ]>Z$b(B
$B$$$?$7$^$;$s$N$G$4Cm0U$/$@$5$$(B.  $BF|K\8lLu$K$D$$$F$N$40U8+(B, $B$4MWK>(B,
$B$*Ld$$9g$o$;Ey$O(B doc-jp@jp.FreeBSD.org $B$^$G$*4j$$$7$^$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%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.

$BF|K\$N%_%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.

$BB>$NCO0h$r4^$`(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$^$H$a$i$l$F$$$^$9(B.

