Australia's Leading Computer Emergency Response Team

AA-96.17 -- Korn Shell (ksh) suid_exec Vulnerability
Date: 05 December 1996
Original URL: http://www.auscert.org.au/render.html?cid=1&it=1870

Click here for PGP verifiable version
-----BEGIN PGP SIGNED MESSAGE-----

===========================================================================
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.
- ---------------------------------------------------------------------------

The AUSCERT team have made every effort to ensure that the information
contained in this document is accurate.  However, the decision to use the
information described is the responsibility of each user or organisation.
The appropriateness of this document for an organisation or individual
system should be considered before application in conjunction with local
policies and procedures.  AUSCERT takes no responsibility for the
consequences of applying the contents of this document.

If you believe that your system has been compromised, contact AUSCERT or
your representative in FIRST (Forum of Incident Response and Security
Teams).

AUSCERT is located at The University of Queensland within the Prentice
Centre.  AUSCERT is a full member of the Forum of Incident Response and
Security Teams (FIRST).

AUSCERT maintains an anonymous FTP service which is found on:
ftp://ftp.auscert.org.au/pub/.  This archive contains past SERT and AUSCERT
Advisories, and other computer security information.

AUSCERT also maintains a World Wide Web service which is found on:
http://www.auscert.org.au/.

Internet Email: auscert@auscert.org.au
Facsimile:	(07) 3365 4477
Telephone:	(07) 3365 4417 (International: +61 7 3365 4417)
		AUSCERT personnel answer during Queensland business hours
		which are GMT+10:00 (AEST).
		On call after hours for emergencies.

Postal:
Australian Computer Emergency Response Team
c/- Prentice Centre
The University of Queensland
Brisbane
Qld.  4072.
AUSTRALIA


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Revision History


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv
Comment: ftp://ftp.auscert.org.au/pub/auscert/AUSCERT_PGP.key

iQCVAwUBMqbp3Sh9+71yA2DNAQE8XgP+KMJvgsXXuCVtsuKHXzgelLr+1hyCpJcw
WXMPSrjqcU5rV5z3ees7P0rlQIxzS7EMmAFqBAWQz5nnlYSX0ygciv7CJ42Q0eTP
r/0PI6w9Mx0ewyn1XPYfgb+THvQa4fLPdM4KD/7e2BQOnSAJjXLIW3RD8Yjxanji
gAH0wm6I3ZY=
=KCeA
-----END PGP SIGNATURE-----