SGI IRIX runpriv Design Error Vulnerability iDEFENSE Security Advisory 10.10.05 www.idefense.com/application/poi/display?id=312&type=vulnerabilities October 10, 2005 I. BACKGROUND The runpriv program is a setuid root application that checks to see if a regular user has been granted privileges to execute a certain predefined command, and if so it runs the command found in the directory /usr/sysadm/privbin with root privileges. It is installed by default under multiple versions of IRIX 6. II. DESCRIPTION Local exploitation of a design error vulnerability in the runpriv command included in multiple versions of Silicon Graphics Inc.'s IRIX could allow for arbitrary code execution as the root user. The runpriv program is a setuid root application that checks to see if a regular user has been granted privileges to execute a certain predefined command, and if so it runs the command found in the directory /usr/sysadm/privbin with root privileges. The vulnerability specifically exists because runpriv unsafely executes commands after it has verified a user's privileges. This allows an attacker who has been given privileged access to one binary in /usr/sysadm/privbin to effectively execute any command as root. To exploit this vulnerability, all that is required is appending a string of the form "command to execute" to the end of an otherwise authorized and legitimate command. For example, if a user has been authorized to run the mountfs utility, they can exploit this vulnerability in the following way: /usr/sysadm/bin/runpriv mountfs -s test -d / -o \| "ksh -c 'echo r00t::0:0:r00t:/tmp:/bin/sh >> /etc/passwd'" su r00t -c "chown root:sys /tmp/passwd123 ; mv /tmp/passwd123 /etc/passwd ; chmod 644 /etc/passwd ; su" This will have the effect of adding an administrative user "r00t" to the system with no password, which allows for trivial privilege escalation. III. ANALYSIS Exploitation requires an attacker to have access to an account which has been granted usage of a binary in the /usr/sysadm/privbin directory. As root must explicitly allow such privileges, the impact of this vulnerability is lessened significantly. Exploitation does not require any knowledge of application internals, making exploitation trivial, even for unskilled attackers. IV. DETECTION iDEFENSE has confirmed the existence of this vulnerability in SGI IRIX version 6.5.22 (maintenance). It is suspected that previous and later versions of both the feature and maintenance revisions of IRIX 6.5 are also vulnerable. V. WORKAROUND Only grant runpriv privileges to trusted users with secure accounts. Alternately, remove the setuid and setgid bits from runpriv: chmod ug-s /usr/sysadm/bin/runpriv VI. VENDOR RESPONSE A vendor advisory for this vulnerability is to be posted at: http://www.sgi.com/support/security/advisories.html Vendor patch 7004 for IRIX 6.5.27 and 6.5.28 is available at: http://support.sgi.com/ VII. CVE INFORMATION The Common Vulnerabilities and Exposures (CVE) project has assigned the name CAN-2005-2925 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org), which standardizes names for security problems. VIII. DISCLOSURE TIMELINE 09/08/2005 Initial vendor notification 09/09/2005 Initial vendor response 10/05/2005 Coordinated public disclosure IX. CREDIT The discoverer of this vulnerability wishes to remain anonymous. Get paid for vulnerability research http://www.idefense.com/poi/teams/vcp.jsp Free tools, research and upcoming events http://labs.idefense.com X. LEGAL NOTICES Copyright (c) 2005 iDEFENSE, Inc. Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDEFENSE. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please email customerservice@private for permission. Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.
This archive was generated by hypermail 2.1.3 : Mon Oct 10 2005 - 20:08:19 PDT