copyright
|
disclaimer
|
privacy
|
contact
HOME
About
AusCERT
Membership
Contact Us
PKI Services
Training
Publications
Sec. Bulletins
Conferences
News & Media
Services
Web Log
Site Map
Site Help
Member login
Login »
Become a member »
Home
»
Security Bul...
» AA-97.21 -- SGI IRIX eject Buffer Overrun Vulnerability
AA-97.21 -- SGI IRIX eject Buffer Overrun Vulnerability
Date:
17 December 1997
Click here for printable version
-----BEGIN PGP SIGNED MESSAGE----- =========================================================================== AA-97.21 AUSCERT Advisory SGI IRIX eject Buffer Overrun Vulnerability 27 May 1997 Last Revised: 17 December 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 eject(1), distributed under IRIX versions 5.x and 6.x. Other versions 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 eject(1) is a program used to eject a removable media device, such as floppy, CDROM, or tape. If the floppy or CDROM is mounted, eject will first try to unmount it. Due to insufficient bounds checking on arguments which are supplied by users, it is possible to overwrite the internal stack space of the eject program while it is executing. By supplying a carefully designed argument to the eject program, intruders may be able to force eject to execute arbitrary commands. As eject is setuid root, this may allow intruders to run arbitrary commands with root privileges. Sites can determine if this program is installed by using: % ls -l /usr/sbin/eject eject is installed by default in /usr/sbin. Sites are encouraged to check for the presence of this program regardless of the version of IRIX installed. Specific versions of IRIX which are vulnerable to this problem are listed in Section 3.3. Exploit information involving this vulnerability has been made publicly available. 2. Impact Local users may 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. If the eject functionality is required by non-root users and patches can not be installed, 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 eject program immediately. As eject will no longer have its full functionality for non-root users, it is recommended that the execute permissions be also removed for these users. # ls -l /usr/sbin/eject -rwsr-xr-x 1 root sys 45892 Nov 28 15:09 /usr/sbin/eject # chmod 500 /usr/sbin/eject # ls -l /usr/sbin/eject -r-x------ 1 root sys 45892 Nov 28 15:09 /usr/sbin/eject 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. 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 eject 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 eject command. The wrapper program can also be configured to syslog any failed attempts to execute eject 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 eject, 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 a security bulletin containing information on this vulnerability including patch details. The original release of this bulletin can be retrieved from: ftp://sgigate.sgi.com/security/19970507-02-PX Information on patches which address the vulnerability described in this advisory has been extracted from the SGI bulletin and is listed below. OS Version Vulnerable? Patch # Other Actions ---------- ----------- ------- ------------- IRIX 3.x unknown not avail Note 1 IRIX 4.x unknown not avail Note 1 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 2228 IRIX 6.0.x yes not avail Note 1 IRIX 6.1 yes not avail Note 1 IRIX 6.2 yes 2177 IRIX 6.3 yes 2232 IRIX 6.4 yes 2233 NOTES 1) upgrade operating system or see "Temporary Solution" section. "Temporary Solution" refers to the SGI bulletin but is equivalent to the suggestions given in our AUSCERT advisory in section 3.1. These patches can be retrieved from: http://www.sgi.com/Support/Secur/security.html 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 vulnerability 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, if sites had previously removed the setuid permissions for the eject 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 17 Dec 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 iQCVAwUBNJewYih9+71yA2DNAQGfQAP+IDKZSgXpIH6F8Tz4Ux5zdmpOEty4gxHI 068bwxditQHQrjHFpKrnCYURYWgGQkCEtCVfWR1/fmy8B2AK2OCWjc8Aau/tkPle bL/VW9lCgMKrYeafWHpyQv/eQrF+KKpwMdBix66d99SRZXIeW3QhSNICKLJYzUl4 eEDhaechv6I= =qkyr -----END PGP SIGNATURE-----
Comments? Click here
http://www.auscert.org.au/render.html?cid=1&it=1895