Patch-ID# 100632-08 Keywords: security ARM audit C2 passwd ftp login su secure rpc date Synopsis: SunSHIELD 1.0: ARM patch release Date: Nov/01/99 Solaris Release: 1.1.1A 1.1.2 SunOS Release: 4.1.3_U1A 4.1.4 Unbundled Product: SunSHIELD, ARM Unbundled Release: 1.0 Topic: patches for SunShield ARM BugId's fixed with this patch: 1086881 1083420 1091486 1097336 1085851 1095401 1098441 1095116 1121527 1176095 Changes incorporated in this version: 1097336 Architectures for which this patch is available: sparc Patches accumulated and obsoleted by this patch: 100633-01 100653-01 100794-01 Patches which may conflict with this patch: Obsoleted by: Files included with this patch along with checksums: 38734 128 sun4/armtool 40276 96 sun4/in.ftpd 21991 656 sun4/init 36437 32 sun4/keyenvoy 14599 176 sun4/libarm.so.0.3 24663 160 sun4/libarm_ps.so.0.3 54993 48 sun4/login 22733 64 sun4/passwd 37720 192 sun4/rpc.armd 17763 96 sun4/rpc.armtod 64726 32 sun4/su 48072 32 sun4/su.5bin Problem Description: 1086881 ARM causes C2 to audit transactions not requested by audit flags 1083420 user's account does not get validated 1091486 ftp hangs when logging into account with aged password in ARM net 1097336 When running C2 and ARM (sunshield) together causes auditd to not record unsuccessful login attempts even though flags are set with login. Successful logins are recorded by auditd. ARM does record invalid logins to armd_struct with no problems. Patch 100632-07 did not cover every instance of this error. 1085851 a dynamically-linked program that is forked by a setuid program has access to the callers environmental variables if the setuid program sets the real UID equal to the effective UID and the real GID equal to the effective GID before the dynamically-linked program is forked. 1095401 Setup a machine with Unbundled ARM product to allow rsh(1) access and use rsh (from this, or from another machine) to execute a command. The command will execute OK, but it will leave two processes and a zombie, behind. The defunct process is the one that executed the command; it is presumably waiting to be reaped by its parent (in.rshd). The in.rshd has vfork'ed the keyenvoy and these two processes are deadlocked; in.rshd is waiting for input from keyenvoy; keyenvoy is waiting for input from in.rshd. 1098441 ARM 1.0 performance problems with large armd_struct file 1121527 Patch 100632-04 causes su to fail with segmentation fault on incorrect passwd 1095116 rpc.armd core dumps 1121527 Patch 100632-04 causes su to fail with segmentation fault on incorrect passwd 1176095 rpc.armd core dumps when armd_struct file size is a multiple of 4096 bytes xx years after 1999 are handled incorrectly for non-Y2K compliant versions of libc. NOTE: Please install 101100-01 yp_bind patch for libc to fix bugid 1107235 (rpc.armd accumulates open UDP sockets when NIS service is intermittent). WARNING: Currently this patch does not support ARM running with secure RPC enabled. You can check to see if secure RPC has been enabled by doing a "grep arm /etc/rc.local" and seeing if the `-s` option is included on the rpc.armd daemons. If it is, you will need to reinstall ARM with secure rpc disabled before applying this patch. To do this, initially run `/usr/etc/arm/arm_restore_system`. Install Instructions: Install as root in single user mode. # Make a copy of the old files: mv /bin/login /bin/login.ARM_FCS mv /usr/5bin/su /usr/5bin/su.ARM_FCS mv /usr/bin/passwd /usr/bin/passwd.ARM_FCS mv /usr/bin/su /usr/bin/su.ARM_FCS mv /usr/etc/in.ftpd /usr/etc/in.ftpd.ARM_FCS mv /sbin/init /sbin/init.ARM_FCS mv /usr/etc/keyenvoy /usr/etc/keyenvoy.ARM_FCS mv /usr/etc/rpc.armd /usr/etc/rpc.armd.ARM_FCS mv /usr/lib/libarm.so.0.3 /usr/lib/libarm.so.0.3.ARM_FCS mv /usr/lib/libarm_ps.so.0.3 /usr/lib/libarm_ps.so.0.3.ARM_FCS mv /usr/etc/arm/armtool /usr/etc/arm/armtool.ARM_FCS mv /usr/etc/rpc.armtod /usr/etc/rpc.armtod.ARM_FCS # Change permissions on old files so they can't be executed: chmod 0400 /bin/login.ARM_FCS chmod 0400 /usr/5bin/su.ARM_FCS chmod 0400 /usr/bin/passwd.ARM_FCS chmod 0400 /usr/bin/su.ARM_FCS chmod 0400 /usr/etc/in.ftpd.ARM_FCS chmod 0400 /sbin/init.ARM_FCS chmod 0400 /usr/etc/keyenvoy.ARM_FCS chmod 0400 /usr/etc/rpc.armd.ARM_FCS chmod 0400 /usr/lib/libarm.so.0.3.ARM_FCS chmod 0400 /usr/lib/libarm_ps.so.0.3.ARM_FCS chmod 0400 /usr/etc/arm/armtool.ARM_FCS chmod 0400 /usr/etc/rpc.armtod.ARM_FCS # Copy new files into place: cp sun4/in.ftpd /usr/etc/in.ftpd cp sun4/init /sbin/init cp sun4/keyenvoy /usr/etc/keyenvoy cp sun4/libarm.so.0.3 /usr/lib/libarm.so.0.3 cp sun4/libarm_ps.so.0.3 /usr/lib/libarm_ps.so.0.3 cp sun4/login /bin/login cp sun4/passwd /usr/bin/passwd cp sun4/rpc.armd /usr/etc/rpc.armd cp sun4/su /usr/bin/su cp sun4/su.5bin /usr/5bin/su cp sun4/armtool /usr/etc/arm/armtool cp sun4/rpc.armtod /usr/etc/rpc.armtod # Change the owner and file permissions of the new files: chown root.staff /bin/login /usr/bin/su /usr/5bin/su /usr/etc/in.ftpd chown root.staff /usr/etc/keyenvoy /usr/etc/rpc.armd chown root.staff /sbin/init /usr/bin/passwd chown root.staff /usr/etc/arm/armtool chown root.staff /usr/etc/rpc.armtod chown root.bin /usr/lib/libarm.so.0.3 /usr/lib/libarm_ps.so.0.3 chmod 4755 /bin/login /usr/bin/su /usr/5bin/su /usr/etc/keyenvoy chmod 4755 /usr/bin/passwd chmod 0755 /usr/lib/libarm.so.0.3 /usr/lib/libarm_ps.so.0.3 chmod 0755 /usr/etc/in.ftpd /usr/etc/rpc.armd chmod 0755 /sbin/init /usr/etc/arm/armtool /usr/etc/rpc.armtod # Enter a control-d to bring your system into multi-user mode.