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