AA-97.23-IRIX.ordist.buffer.overflow.vul
a70bca6743fb246b127343df4f217f1e86c53d880d407469bd80932141dff328
-----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-----