patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
		
			
				
	
	
		
			144 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
-----BEGIN PGP SIGNED MESSAGE-----
 | 
						|
 | 
						|
=============================================================================
 | 
						|
FreeBSD-SA-96:12					    Security Advisory
 | 
						|
						        	FreeBSD, Inc.
 | 
						|
 | 
						|
Topic:		security compromise from perl (suidperl) utility
 | 
						|
 | 
						|
Category:	core and ports
 | 
						|
Module:		perl
 | 
						|
Announced:	1996-06-28
 | 
						|
Affects:	FreeBSD 2.0, 2.0.5, 2.1, 2.1-stable, and 2.2-current
 | 
						|
Corrected:	2.1-stable and 2.2-current as of 1996-06-03
 | 
						|
FreeBSD only:	no
 | 
						|
 | 
						|
Patches:	ftp://freebsd.org/pub/CERT/patches/SA-96:12/
 | 
						|
 | 
						|
=============================================================================
 | 
						|
 | 
						|
I.   Background    
 | 
						|
 | 
						|
     FreeBSD ships perl version 4 as part of the base level system,
 | 
						|
     in addition, a port for perl version 5 is also provided with
 | 
						|
     a similar vulnerability.  The vulnerability is specific to the
 | 
						|
     suidperl flavors of perl installed on the system.
 | 
						|
 | 
						|
     This problem is present in all source code and binary
 | 
						|
     distributions of FreeBSD version 2.0.5 and later released
 | 
						|
     before 1996-05-21.  This problem is not present in FreeBSD
 | 
						|
     2.0 and earlier versions of FreeBSD.
 | 
						|
 | 
						|
II.  Problem Description
 | 
						|
 | 
						|
     The authors of perl provide a "suidperl" program for proper
 | 
						|
     processing of setuid perl scripts on systems where race
 | 
						|
     conditions where setuid scripts could be exploited to gain
 | 
						|
     unauthorized access.  FreeBSD installs this suidperl program
 | 
						|
     (and a link) as part of the standard installation.  However,
 | 
						|
     privilege processing done by this program does not take into
 | 
						|
     account recent functionality extensions in the seteuid/setegid
 | 
						|
     system calls.
 | 
						|
 | 
						|
 | 
						|
III. Impact
 | 
						|
 | 
						|
     This vulnerability can only be exploited by users with a valid
 | 
						|
     account on the local system to easily obtain superuser access.
 | 
						|
 | 
						|
     This vulnerability is present on all systems with the
 | 
						|
     _POSIX_SAVED_IDS functionality extension where suidperl
 | 
						|
     has been installed.
 | 
						|
 | 
						|
 | 
						|
IV. Workaround
 | 
						|
 | 
						|
     One may simply disable the setuid bit on all copies of the setuid
 | 
						|
     version of perl.  This will close the vulnerability but render
 | 
						|
     inoperable setuid perl scripts.  No software currently shipping
 | 
						|
     as part of FreeBSD relies on this functionality so the impact is
 | 
						|
     only to third party software.
 | 
						|
 | 
						|
     As root, execute the commands:
 | 
						|
 | 
						|
	 # chmod 111 /usr/bin/suidperl
 | 
						|
	 # chmod 111 /usr/bin/sperl4.036
 | 
						|
 | 
						|
     In addition, if you have installed the perl5 port:
 | 
						|
	 # chmod 111 /usr/local/bin/suidperl
 | 
						|
	 # chmod 111 /usr/local/bin/sperl5.001
 | 
						|
 | 
						|
     then verify that the setuid permissions of the files have been
 | 
						|
     removed.  The permissions array should read "-r-xr-xr-x" as
 | 
						|
     shown here:
 | 
						|
 | 
						|
	 # ls -l /usr/bin/s*perl*
 | 
						|
	 ---x--x--x  2 root  bin  307200 Jun  1 17:16 /usr/bin/sperl4.036
 | 
						|
	 ---x--x--x  2 root  bin  307200 Jun  1 17:16 /usr/bin/suidperl
 | 
						|
 | 
						|
     and for the perl5 port:
 | 
						|
 | 
						|
	 # ls -l /usr/local/bin/s*perl*
 | 
						|
	 ---x--x--x  2 root  bin  397312 Jan 22 15:15 /usr/local/bin/sperl5.001
 | 
						|
	 ---x--x--x  2 root  bin  397312 Jan 22 15:15 /usr/local/bin/suidperl
 | 
						|
 | 
						|
 | 
						|
V. Solution
 | 
						|
 | 
						|
     *NOTE* A patch for perl is available directly from Larry Wall
 | 
						|
     (the author of perl) which solves this vulnerability in a
 | 
						|
     different fashion than the FreeBSD patches.  You may apply
 | 
						|
     either the FreeBSD patches, or Larry's patches, or both.
 | 
						|
     The patches solve the problem via two different mechanisms.
 | 
						|
 | 
						|
     Patches are available which eliminate this vulnerability.
 | 
						|
     The following patch should be applied to the system sources and
 | 
						|
     suidperl should be rebuilt and reinstalled.
 | 
						|
 | 
						|
     Apply the patch, then:
 | 
						|
	# cd /usr/src/gnu/usr.bin/perl/sperl
 | 
						|
	# make depend
 | 
						|
	# make all
 | 
						|
	# make install
 | 
						|
 | 
						|
     A similar patch is also available for the perl5 port.
 | 
						|
     Apply the following patch by moving it into the patch
 | 
						|
     directory for the port distribution and rebuilding and
 | 
						|
     installing perl5:
 | 
						|
 | 
						|
	# cd /usr/ports/lang/perl5
 | 
						|
	# cp <location of new patches>/patch-a[ab] patches
 | 
						|
	# make all
 | 
						|
	# make install
 | 
						|
 | 
						|
     NOTE: These patches do NOT solve the vulnerability for FreeBSD 2.0
 | 
						|
	   or 2.0.5.  These only solve the problem for 2.1 and later.
 | 
						|
	   Patches specific to FreeBSD 2.0 and 2.0.5 are available at
 | 
						|
	   the URL listed at the top of this file.
 | 
						|
 | 
						|
 | 
						|
=============================================================================
 | 
						|
FreeBSD, Inc.
 | 
						|
 | 
						|
Web Site:			http://www.freebsd.org/
 | 
						|
Confidential contacts:		security-officer@freebsd.org
 | 
						|
PGP Key:			ftp://freebsd.org/pub/CERT/public_key.asc
 | 
						|
Security notifications:		security-notifications@freebsd.org
 | 
						|
Security public discussion:	security@freebsd.org
 | 
						|
 | 
						|
Notice: Any patches in this document may not apply cleanly due to
 | 
						|
        modifications caused by digital signature or mailer software.
 | 
						|
        Please reference the URL listed at the top of this document
 | 
						|
        for original copies of all patches if necessary.
 | 
						|
=============================================================================
 | 
						|
 | 
						|
-----BEGIN PGP SIGNATURE-----
 | 
						|
Version: 2.6.3ia
 | 
						|
Charset: noconv
 | 
						|
 | 
						|
iQCVAwUBMdOTfFUuHi5z0oilAQEVkAP/cVHgqsW4GNpShs4RDQYvAphA31vTNiE8
 | 
						|
vrfyjpA1GQET/KycQe0xdQWaQ7FF6FwG5ieahHFypqFN2Ze8VW10EuWN/EFhfjh5
 | 
						|
vFnCqOW5r84DraP3ttkdR6WKyQXDwt61QBGiO7FYa03Kz29v3n9TO7W0LS+pAhB1
 | 
						|
cZZwEwUN318=
 | 
						|
=M6FK
 | 
						|
-----END PGP SIGNATURE-----
 |