=====================================================================
                                    CERT-Renater

                         Note d'Information No. 2006/VULN200
_____________________________________________________________________

DATE                      : 26/04/2006

HARDWARE PLATFORM(S)      : /

OPERATING SYSTEM(S)       : Solaris 10.

======================================================================

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
         | 134548064|       0|FUNC |GLOB |0    |UNDEF  |getpwnam
         | 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.

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

======================================================================

           =========================================================
           Les serveurs de référence du CERT-Renater
           http://www.urec.fr/securite
           http://www.cru.fr/securite
           http://www.renater.fr
           =========================================================
           + CERT-RENATER          | tel : 01-53-94-20-44          +
           + 151 bd de l'Hopital   | fax : 01-53-94-20-41          +
           + 75013 Paris           | email: certsvp@renater.fr     +
           =========================================================



