copyright | disclaimer | privacy | contact  
Australia's Leading Computer Emergency Response Team
 
Search this site

 
On this site

 > HOME
 > About AusCERT
 > Membership
 > Contact Us
 > PKI Services
 > Training
 > Publications
 > Sec. Bulletins
 > Conferences
 > News & Media
 > Services
 > Web Log
 > Site Map
 > Site Help
 > Member login





 

AA-97.23 -- SGI IRIX ordist Buffer Overrun Vulnerability

Date: 12 August 1997

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

===========================================================================
AA-97.23                        AUSCERT Advisory
                  SGI IRIX ordist Buffer Overrun Vulnerability
                                 28 May 1997

Last Revised: 	-- 12 August 1997

		   Changed Section 3 to include vendor patch and bulletin
		   information.

                   A complete revision history is at the end of this file.

- ---------------------------------------------------------------------------

AUSCERT has received information that a vulnerability exists in ordist(1c),
distributed under IRIX 6.2.  Other versions of IRIX may also be vulnerable.

This vulnerability may allow local users to gain root privileges.

Exploit information involving this vulnerability has been made publicly
available.

Vendor patches have been released addressing this vulnerability.

AUSCERT recommends that sites take the steps outlined in section 3 as soon
as possible.

This advisory will be updated as more information becomes available.

- ---------------------------------------------------------------------------

1.  Description

    ordist(1c) is a program used to maintain identical copies of files
    over multiple hosts.  It preserves the owner, group, mode and mtime
    of a file if possible.

    Due to insufficient bounds checking on arguments which are supplied
    by users, it is possible to overwrite the internal stack space of the
    ordist program while it is executing.  By supplying a carefully
    designed argument to the ordist program, intruders may be able to
    force ordist to execute arbitrary commands.  As ordist is setuid root,
    this may allow intruders to run arbitrary commands with the privileges
    of root.

    Sites can determine if this program is installed by using:

	% ls -l /usr/bsd/ordist

    ordist is installed by default in /usr/bsd.  Sites are encouraged to
    check for the presence of this program regardless of the version of
    IRIX installed.

    Exploit information involving this vulnerability has been made publicly
    available.

2.  Impact

    This vulnerability may allow local users to gain root privileges.

3.  Workarounds/Solution

    Official vendor patches have been released by Silicon Graphics which
    address this vulnerability (Section 3.3).

    If the patches recommended by Silicon Graphics cannot be applied,
    AUSCERT recommends that sites prevent the exploitation of this
    vulnerability by immediately applying the workaround given in Section
    3.1.  To maintain the functionality of ordist, AUSCERT recommends
    applying the workaround given in Section 3.2

3.1 Remove setuid and non-root execute permissions

    To prevent the exploitation of the vulnerability described in this
    advisory, AUSCERT recommends that the setuid permissions be removed
    from the ordist program immediately.  As ordist will no longer work
    for non-root users, it is recommended that the execute permissions
    for them also be removed.

	# ls -l /usr/bsd/ordist
	-rwsr-xr-x   1 root   sys     70564 Nov 28 15:07 /usr/bsd/ordist

	# chmod 500 /usr/bsd/ordist
	# ls -l /usr/bsd/ordist
        -r-x------   1 root   sys     70564 Nov 28 15:07 /usr/bsd/ordist

3.2 Install wrapper

    AUSCERT has developed a wrapper to help prevent programs from being
    exploited using the vulnerability described in this advisory.  Sites
    which have a C compiler can obtain the source, compile and install
    the wrapper.  Please contact AUSCERT directly if pre-compiled wrapper
    binaries are required.

    The source for the wrapper, including installation instructions, can
    be found at:

	ftp://ftp.auscert.org.au/pub/auscert/tools/overflow_wrapper/
					        overflow_wrapper.c

    This wrapper replaces the ordist program and checks the length of the
    command line arguments which are passed to it.  If an argument exceeds
    a certain predefined value (MAXARGLEN), the wrapper exits without
    executing the ordist command.  The wrapper program can also be
    configured to syslog any failed attempts to execute ordist with
    arguments exceeding MAXARGLEN.  For further instructions on using this
    wrapper, please read the comments at the top of overflow_wrapper.c.

    When compiling overflow_wrapper.c for use with ordist, AUSCERT
    recommends defining MAXARGLEN to be 32.

    The MD5 checksum for the current version of overflow_wrapper.c can be
    retrieved from:

	ftp://ftp.auscert.org.au/pub/auscert/tools/overflow_wrapper/CHECKSUM

    The CHECKSUM file has been digitally signed using the AUSCERT PGP key.

3.3 Install vendor patches

    Silicon Graphics has released patches which address the vulnerability
    described in this advisory.  AUSCERT recommends that sites apply theses
    patches as soon as possible.

    Operating System      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             2212
    IRIX 6.0.x            yes             not avail      Note 1
    IRIX 6.1              yes             not avail      Note 1
    IRIX 6.2              yes             2213
    IRIX 6.3              yes             2213
    IRIX 6.4              yes             2213

    Notes:

	1) upgrade the operating system or apply the workaround given in
	   Section 3.1 or 3.2.

    These patches can be retrieved from:

	http://www.sgi.com/Support/Secur/security.html

    Silicon Graphics has also released a security bulletin containing
    information on the above patches. The original release of this bulletin
    can be retrieved from:

	ftp://sgigate.sgi.com/security/19970509-02-PX

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 ) -type f -exec ls -l {} ;

    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 ordist program is not
    needed by many sites.  If sites had previously disabled this program,
    they would not have been susceptible to this latest vulnerability.

- ---------------------------------------------------------------------------

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
Prentice Centre
Brisbane
Qld.  4072.
AUSTRALIA

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

12 Aug, 1997    Silicon Graphics has released a security bulletin
		addressing the vulnerability described in this advisory.
		Section 3 has been modified to include vendor patch
		information.

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

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

iQCVAwUBM/B8XCh9+71yA2DNAQEjzwP+LMsPtBmrrvXk98q+CsDhbisIC+ZecVo0
wTA1LXr605z4RDpG8tHW3Ei5WI2y5Yi+g7byzeHM7dMVc9AfRftr7ZxT4enQwNfz
aOIwsZNAkPfIg6Xlx9LiBk6+BCae4Cyc/gr6a9gHvllDP+10XgbrZoPdwrA9ohdH
BQF+7RtFZZ0=
=vWAm
-----END PGP SIGNATURE-----