Korn Shell (ksh) suid_exec Vulnerability
Privacy and Legal Notice
INFORMATION BULLETIN
H-15A: Korn Shell (ksh) suid_exec Vulnerability
April 8, 1998 23:00 GMT
PROBLEM: A problem has been identified in the "suid_exec" program often
supplied with the Korn Shell (ksh) distribution.
PLATFORM: All operating systems with "suid_exec" program supplied with
the Korn Shell (ksh) distribution.
DAMAGE: Local users may gain root privileges.
SOLUTION: Apply the workaround described below.
VULNERABILITY Exploit details involving this vulnerability have been widely
ASSESSMENT: distributed.
[ Appended on April 8, 1998 with additional vendor information ]
[ Start AUSCERT Advisory ]
===========================================================================
AA-96.17 AUSCERT Advisory
Korn Shell (ksh) suid_exec Vulnerability
5 December 1996
Last Revised: --
----------------------------------------------------------------------------
AUSCERT has received information that there is a vulnerability in the
"suid_exec" program often supplied with the Korn Shell (ksh) distribution.
ksh may be part of the standard vendor distribution or may have been
installed as additional software by system administrators.
This vulnerability may allow local users to gain root privileges.
Exploit details involving this vulnerability have been widely distributed.
At this stage, AUSCERT is unaware of any official vendor patches. AUSCERT
recommends that sites apply the workaround given in Section 3 until vendor
patches are made available.
This advisory will be updated as new information becomes available.
----------------------------------------------------------------------------
1. Description
suid_exec is a program that is often installed when the Korn shell
(ksh) interpreter is installed. suid_exec is installed to allow the
execution of setuid/setgid shell scripts and shell scripts which do
not have read permissions set. All versions of suid_exec are
currently vulnerable.
The vulnerability in suid_exec may allow arbitrary commands to be
executed with root privileges.
Exploit information involving this vulnerability has been made
publicly available.
suid_exec is known to be present in the default installation on the
following Unix operating systems:
IRIX 5.x
IRIX 6.x
This list is not necessarily complete, and other operating systems
may have suid_exec installed by default. Sites may also have installed
suid_exec when installing the publicly available version of the Korn
Shell (ksh). This version of suid_exec is also vulnerable.
All sites are encouraged to check their systems for the presence of
the suid_exec program. By default, suid_exec will be found in /etc.
To determine the location of any other copies of suid_exec, the
following command can be executed as root:
# find / -name suid_exec -perm -4000 -exec ls -l {} \;
If suid_exec is installed, sites should take the steps outlined in
Section 3.
2. Impact
Local users may gain root privileges.
3. Workarounds/Solution
AUSCERT recommends that sites prevent the exploitation of the
vulnerability in suid_exec by immediately applying the workaround
given in Section 3.1.
Currently there are no vendor patches available that address this
vulnerability. AUSCERT recommends that official vendor patches be
installed when they are made available.
3.1 Remove setuid and execute permissions
Until official vendor patches are made available, sites should remove
the setuid root and execute permissions from suid_exec. For example,
if suid_exec is located in /etc, the following command should be run
as root:
# chmod 400 /etc/suid_exec
# ls -l /etc/suid_exec
-r-------- 1 root sys 14384 May 30 1996 /etc/suid_exec
Note that the removing these permissions from suid_exec may stop
non-root users from executing setuid/setgid shell scripts and scripts
upon which read permissions have not been set.
4. Additional measures
Most Unix systems ship with numerous programs which have setuid or
setgid privileges. Often the functionality supplied by these
privileged programs is not required by many sites. The large number
of privileged programs that are shipped by default are to cater for
all possible uses of the system.
AUSCERT encourages sites to examine all the setuid/setgid programs
and determine the necessity of each program. If a program does not
absolutely require the setuid/setgid privileges to operate (for
example, it is only run by the root user), the setuid/setgid
privileges should be removed. Furthermore, if a program is not
required at your site, then all execute permissions should be removed.
A sample command to find all setuid/setgid programs is (run as root):
# find / \( -perm -4000 -o -perm -2000 \) -exec ls -ld {} \;
It is AUSCERT's experience that many vulnerabilities are being
discovered in setuid/setgid programs which are not necessary for the
correct operation of most systems. Sites can increase their security
by removing unnecessary setuid/setgid programs.
For example, the functionality provided by the suid_exec program is
not needed by most sites. If sites had previously disabled the
suid_exec program, they would not have been vulnerable to this latest
exploit.
----------------------------------------------------------------------------
AUSCERT thanks Silicon Graphics Inc. for their assistance and technical
expertise essential for the production of this advisory.
----------------------------------------------------------------------------
[ End AUSCERT Advisory ]
[ Append Silicon Graphic Inc. Advisory ]
-----BEGIN PGP SIGNED MESSAGE-----
______________________________________________________________________________
Silicon Graphics Inc. Security Advisory
Title: suid_exec Buffer Overflow
Title: AUSCERT AA-96.17
Number: 19980405-01-I
Date: April 6, 1998
______________________________________________________________________________
Silicon Graphics provides this information freely to the SGI user community
for its consideration, interpretation, implementation and use. Silicon
Graphics recommends that this information be acted upon as soon as possible.
Silicon Graphics provides the information in this Security Advisory on
an "AS-IS" basis only, and disclaims all warranties with respect thereto,
express, implied or otherwise, including, without limitation, any warranty
of merchantability or fitness for a particular purpose. In no event shall
Silicon Graphics be liable for any loss of profits, loss of business, loss
of data or for any indirect, special, exemplary, incidental or consequential
damages of any kind arising from your use of, failure to use or improper
use of any of the instructions or information in this Security Advisory.
______________________________________________________________________________
- -----------------------
- --- Issue Specifics ---
- -----------------------
The suid_exec program is part of the Korn Shell (ksh) software distributions.
Under normal operation, the suid_exec program will run shell scripts
setuid. Unfortunately, a buffer overrun has been discovered in the
suid_exec program which could allow arbitrary commands to be run as the
privileged user root.
Silicon Graphics Inc. has investigated the issue and recommends the
following steps for neutralizing the exposure. It is HIGHLY RECOMMENDED
that these measures be implemented on ALL vulnerable SGI systems.
- --------------
- --- Impact ---
- --------------
The suid_exec program is installed by default on all IRIX 5.x and 6.x
systems.
With a local account, the suid_exec buffer overrun vulnerability can be
exploited locally and remotely.
The suid_exec buffer overrun vulnerability can be utilized to execute
commands with root privileges.
The suid_exec buffer overrun vulnerability has been publicly discussed
in Usenet newsgroups and mailing lists and also reported in AUSCERT
Security Advisory AA-96.17.
- --------------------------
- --- Temporary Solution ---
- --------------------------
To disable the programs that are believed to be vulnerable, use the
following steps.
1) Become the root user on the system.
% /bin/su -
Password:
#
2) Change the setuid root permissions on the program.
# /bin/chmod 400 /sbin/suid_exec
************
*** NOTE ***
************
Removing these permissions from suid_exec will stop
non-root users from executing setuid/setgid shell
scripts and scripts upon which read permissions have
not been set.
3) Confirm the new permissions on the program.
# ls -la /sbin/suid_exec
-r-------- 1 root sys 14384 May 30 1996 /sbin/suid_exec
4) Using the find command, locate any additional copies of suid_exec
and disable them.
Note that this is one long command, though we have separated it
onto two lines using backslashes.
# find / -local -type f -name suid_exec \
-print -ok chmod 400 '{}' \;
This command will find all files on a system that are
- only in the local file system you name (/ -local)
- regular files (-type f)
- named appropriately (-name suid_exec)
Once found, those files will
- have their names printed (-print)
- have their modes changed, but only if you type `y' in response
to the prompt (-ok chmod 400 '{}' \;)
5) Return to previous level.
# exit
$
- ----------------
- --- Solution ---
- ----------------
The suid_exec program is considered freeware and will not be patched.
As freeware software, all reasonable efforts will be made to address
the issue in future versions of the software.
OS Version Vulnerable? Patch # Other Actions
---------- ----------- ------- -------------
IRIX 3.x no
IRIX 4.x no
IRIX 5.0.x yes not avail Note 1
IRIX 5.1.x yes not avail Note 1
IRIX 5.2 yes not avail Note 1
IRIX 5.3 yes not avail Note 1
IRIX 6.0.x yes not avail Note 1
IRIX 6.1 yes not avail Note 1
IRIX 6.2 yes not avail Note 1
IRIX 6.3 yes not avail Note 1
IRIX 6.4 yes not avail Note 1
Notes:
1) Freeware upgrades should be applied.
- ------------------------
- --- Acknowledgments ---
- ------------------------
Silicon Graphics wishes to thank AUSCERT for their assistance in
this matter.
- -----------------------------------------------------------
- --- Silicon Graphics Inc. Security Information/Contacts ---
- -----------------------------------------------------------
If there are questions about this document, email can be sent to
cse-security-alert@sgi.com.
------oOo------
Silicon Graphics provides security information and patches for
use by the entire SGI community. This information is freely
available to any person needing the information and is available
via anonymous FTP and the Web.
The primary SGI anonymous FTP site for security information and patches
is sgigate.sgi.com (204.94.209.1). Security information and patches
are located under the directories ~ftp/security and ~ftp/patches,
respectively. The Silicon Graphics Security Headquarters Web page is
accessible at the URL http://www.sgi.com/Support/security/security.html.
For issues with the patches on the FTP sites, email can be sent to
cse-security-alert@sgi.com.
For assistance obtaining or working with security patches, please
contact your SGI support provider.
------oOo------
Silicon Graphics provides a free security mailing list service
called wiretap and encourages interested parties to self-subscribe
to receive (via email) all SGI Security Advisories when they are
released. Subscribing to the mailing list can be done via the Web
(http://www.sgi.com/Support/security/wiretap.html) or by sending email
to SGI as outlined below.
% mail wiretap-request@sgi.com
subscribe wiretap
end
^d
In the example above, is the email address that you
wish the mailing list information sent to. The word end must be on a
separate line to indicate the end of the body of the message. The
control-d (^d) is used to indicate to the mail program that you are
finished composing the mail message.
------oOo------
Silicon Graphics provides a comprehensive customer World Wide Web site.
This site is located at http://www.sgi.com/Support/security/security.html.
------oOo------
For reporting *NEW* SGI security issues, email can be sent to
security-alert@sgi.com or contact your SGI support provider. A
support contract is not required for submitting a security report.
______________________________________________________________________________
This information is provided freely to all interested parties and may
be redistributed provided that it is not altered in any way, Silicon
Graphics is appropriately credited and the document retains and
includes its valid PGP signature.
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBNSlQ6LQ4cFApAP75AQEK/QP/QtoOa7kml2Rs2KgW2cx5s83SDXe6kXgD
yqlIQUk7ZDbNEq7ha+3dezQG4V8VrJj2xaBmjNvdIky2NM7SNQbo8/Q4vwsXOG4W
qfUhPgqaTZ4vqqh+hWQ009h8bAbU5VQiyeFqwrhOhs9eK56pVx9jKD/RZFB2g8uK
wHeierfHt3M=
=OPMG
-----END PGP SIGNATURE-----
[ End Silicon Graphic Inc. Advisory ]
CIAC wishes to acknowledge the contributions of AUSCERT for the
information contained in this bulletin.
DOE-CIRC can be contacted at:
Voice: +1 866-941-2472 (7 x 24)
E-mail: doecirc@doecirc.energy.gov
World Wide Web: http://www.doecirc.energy.gov/