__________________________________________________________ The U.S. Department of Energy Computer Incident Advisory Capability ___ __ __ _ ___ / | /_\ / \___ __|__ / \ \___ __________________________________________________________ INFORMATION BULLETIN Privileged Applications Linked to libpkcs11(eLIB) Which Obtain Password Entities Using getpwnam(3C) [Sun Alert ID: 102316] April 26, 2006 12:00 GMT Number Q-184 ______________________________________________________________________________ PROBLEM: If a privileged application links to the libpkcs11(3LIB) library and utilizes the getpwnam(3C) family of non-reentrant functions to obtain password entries, then it may be possible for a local unprivileged user to execute arbitrary code. PLATFORM: Solaris 10 Operating System DAMAGE: A local unprivileged user to execute arbitrary code. SOLUTION: Upgrade to the appropriate version. ______________________________________________________________________________ VULNERABILITY The risk is MEDIUM. A local unprivileged user to execute ASSESSMENT: arbitrary code with the privileges of the application depending on the way the application uses data provided by getpwnam(3C) and related functions. The application may also fail due to receiving unexpected data from one of the non-reentrant getpwnam(3C) functions. ______________________________________________________________________________ LINKS: CIAC BULLETIN: http://www.ciac.org/ciac/bulletins/q-184.shtml ORIGINAL BULLETIN: Sun Alert ID: 102316 http://www.sunsolve.sun.com/search/document.do?assetkey=1 -26-102316-1&searchclause=%22category:security%22%2420% 22availability,%2420security%22%2420category:security ______________________________________________________________________________ [***** Start Sun Alert ID: 102316 *****] Sun(sm) Alert Notification Sun Alert ID: 102316 Synopsis: Privileged Applications Linked to libpkcs11(3LIB) Which Obtain Password Entries Using getpwnam(3C) May Fail or Possibly Grant Elevated Privileges to Local Users Category: Security Product: Solaris 10 Operating System BugIDs: 6372587 Avoidance: Patch State: Resolved Date Released: 24-Apr-2006 Date Closed: 24-Apr-2006 Date Modified: 1. Impact If a privileged application links to the libpkcs11(3LIB) library and utilizes the getpwnam(3C) family of non-reentrant functions to obtain password entries, then it may be possible for a local unprivileged user to execute arbitrary code with the privileges of the application depending on the way the application uses data provided by getpwnam(3C) and related functions. The application may also fail due to receiving unexpected data from one of the non-reentrant getpwnam(3C) functions. 2. Contributing Factors This issue can occur in the following releases: SPARC Platform Solaris 10 without patch 118918-14 [Global] Solaris 10 without patch 118562-09 [Restricted] x86 Platform Solaris 10 without patch 118919-12 [Global] Solaris 10 without patch 118563-07 [Restricted] Note: Solaris 8 and Solaris 9 are not affected by this issue. To determine if an application links to the libpkcs11(3LIB) library the ldd(1) command can be used: $ ldd /usr/sbin/in.telnetd | grep pkcs11 libpkcs11.so.1 => /usr/lib/libpkcs11.so.1 To determine if an application utilizes one of the getpwnam(3C) family of non- reentrant functions, the nm(1) command may work if the application binary has not been stripped using strip(1). The file(1) command will report if a binary has been stripped. If it hasn't, then nm(1) can be used to look for the getpwnam(3C) functions: $ file /bin/id /bin/id: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped, no debugging information available $ nm /bin/id |grep getpw [68] | 134548064| 0|FUNC |GLOB |0 |UNDEF |getpwnam [49] | 134548272| 0|FUNC |GLOB |0 |UNDEF |getpwuid Alternatively, the truss(1) utility can be used to determine if an application calls one of the getpwnam(3C) non-reentrant functions: $ truss -f -t\!all -ulibc:*getpw*: /bin/id 5999/1@1: -> libc:getpwuid(0x17fa6) 5999/1@1: <- libc:getpwuid() = 0x80637a4 Note: This issue does not affect applications which utilize the reentrant interfaces for the getpwnam(3C) functions: getpwnam_r(), getpwuid_r(), getpwent_r(), and fgetpwent_r(). 3. Symptoms There are no reliable symptoms that would show if this issue has been exploited to execute arbitrary commands with elevated privileges on a system. Solution Summary Top 4. Relief/Workaround There is no workaround. Please see the "Resolution" section below. 5. Resolution This issue is addressed in the following releases: SPARC Platform Solaris 10 with patch 118918-14 or later [Global] Solaris 10 with patch 118562-09 or later [Restricted] x86 Platform Solaris 10 with patch 118919-12 or later [Global] Solaris 10 with patch 118563-07 or later [Restricted] This Sun Alert notification is being provided to you on an "AS IS" basis. This Sun Alert notification may contain information provided by third parties. The issues described in this Sun Alert notification may or may not impact your system(s). Sun makes no representations, warranties, or guarantees as to the information contained herein. ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN. This Sun Alert notification contains Sun proprietary and confidential information. It is being provided to you pursuant to the provisions of your agreement to purchase services from Sun, or, if you do not have such an agreement, the Sun.com Terms of Use. This Sun Alert notification may only be used for the purposes contemplated by these agreements. Copyright 2000-2006 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. [***** End Sun Alert ID: 102316 *****] _______________________________________________________________________________ CIAC wishes to acknowledge the contributions of Sun Microsystems for the information contained in this bulletin. _______________________________________________________________________________ CIAC, the Computer Incident Advisory Capability, is the computer security incident response team for the U.S. Department of Energy (DOE) and the emergency backup response team for the National Institutes of Health (NIH). CIAC is located at the Lawrence Livermore National Laboratory in Livermore, California. CIAC is also a founding member of FIRST, the Forum of Incident Response and Security Teams, a global organization established to foster cooperation and coordination among computer security teams worldwide. CIAC services are available to DOE, DOE contractors, and the NIH. CIAC can be contacted at: Voice: +1 925-422-8193 (7x24) FAX: +1 925-423-8002 STU-III: +1 925-423-2604 E-mail: ciac@ciac.org Previous CIAC notices, anti-virus software, and other information are available from the CIAC Computer Security Archive. World Wide Web: http://www.ciac.org/ Anonymous FTP: ftp.ciac.org PLEASE NOTE: Many users outside of the DOE, ESnet, and NIH computing communities receive CIAC bulletins. If you are not part of these communities, please contact your agency's response team to report incidents. Your agency's team will coordinate with CIAC. The Forum of Incident Response and Security Teams (FIRST) is a world-wide organization. A list of FIRST member organizations and their constituencies can be obtained via WWW at http://www.first.org/. This document was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes. LAST 10 CIAC BULLETINS ISSUED (Previous bulletins available from CIAC) Q-174: Vulnerability in Microsoft FrontPage Server Extensions Q-175: freeradius Security Update Q-176: Firefox Security Update Q-177: Symantec LiveUpdate for Macintosh Q-178: Mozilla security update Q-179: Oracle Critical Patch Update Q-180: WLSE Appliance Q-181: J2SE 5.0 Release 4 Q-182: Thunderbird Security Update Q-183: gdm