Bugtraq mailing list archives

Sun Security Bulletin #00141


From: aleph1 () DFW NET (Aleph One)
Date: Thu, 5 Jun 1997 12:23:08 -0500


------------------------------------------------------------------------------
                   Sun Microsystems, Inc. Security Bulletin

Bulletin Number:        #00141
Date:                   4 June 1997
Cross-Ref:
Title:                  Vulnerability in getopt(3)

------------------------------------------------------------------------------
Permission is granted for the redistribution of this Bulletin, so long as
the Bulletin is not edited and is attributed to Sun Microsystems. Portions
may also be excerpted for re-use in other security advisories so long as
proper attribution is included.

Any other use of this information without the express written consent of
Sun Microsystems is prohibited. Sun Microsystems expressly disclaims all
liability for any misuse of this information by any third party.
------------------------------------------------------------------------------

1.  Bulletins Topics

    Sun announces the release of patches for Solaris 2.5.1, 2.5, and 2.4
    (SunOS 5.5.1, 5.5, and 5.4) that relate to a vulnerability with the
    getopt(3) function in the libc library. Any privileged program (setuid
    or setgid) that uses getopt(3) may exploit the vulnerability to gain root
    access.

    Sun estimates the release of patches for Solaris 2.4_x86 and 2.3 (SunOS
    5.4_x86 and 5.3) that relate to the same vulnerability will be available
    within 1 week and 3 weeks respectively of the date of this bulletin.

    Sun strongly recommends that you:

    a. install the patches listed in section 5 immediately on every system
       running SunOS 5.5.1, 5.5.1_x86, 5.5, 5.5_x86, or 5.4
    b. apply the workarounds specified in section 4 immediately on every system
       running SunOS 5.4_x86 or 5.3.

2.  Who is Affected

       Vulnerable:      SunOS versions 5.5.1, 5.5.1_x86, 5.5, 5.5_x86,
                                       5.4, 5.4_x86, and 5.3.

       Not vulnerable:  All other supported versions of SunOS

       This vulnerability is fixed in the upcoming release of Solaris.

3.  Understanding the Vulnerability

    The getopt(3) function parses options from a program's command list.
    Due to insufficient bounds checking by getopt(3) while processing command
    line arguments, it is possible to overwrite the internal stack space of
    programs that use getopt(3). This may allow users to cause programs using
    getopt(3) to execute arbitrary commands by supplying carefully crafted
    arguments to these programs. If these programs are setuid or setgid, then
    these commands may be run with those privileges.

    Any dynamically or statically linked setuid or setgid program that uses
    getopt(3) may be vulnerable.

4.  Workarounds

4.1 Dynamically linked programs

    The vulnerability can be exploited by using getopt(3) to print error
    messages when an invalid option is discovered. These messages can be
    suppressed by setting "opterr" (a global libc variable) to zero by doing
    the following:

    As root, execute the following command:

      # adb -w /lib/libc.so.1

    Type the following:

      opterr?W0

    The system will respond with:

      opterr:         0x1             =       0x0

    Type Control-D to exit adb.

    Note that this workaround will suppress getopt(3) error messages from
    all dynamically linked executables.

4.2 Statically linked programs

    The workaround in 4.1 cannot be applied to statically linked setuid or
    setgid programs. Other than /usr/sbin/static/rcp, Sun is not aware of any
    other statically linked executable that uses getopt(3). The vulnerability
    in the rcp program can be closed by removing the setuid bit with a command
    such as the following:

       chmod 555 /usr/sbin/static/rcp

    The rcp program is typically run as root during system boot or recovery
    only.

5.  The vulnerability relating to getopt(3) is fixed by the following patches:

        OS version              Patch ID
        ----------              --------
        SunOS 5.5.1             103612-23
        SunOS 5.5.1_x86         103613-23
        SunOS 5.5               103187-25
        SunOS 5.5_x86           103188-25
        SunOS 5.4               101945-49
        SunOS 5.4_x86           101946-43       (to be released in 1 week)
        SunOS 5.3               101318-87       (to be released in 3 weeks)

6.  Checksum Table

    The checksum table below shows the BSD checksums (SunOS 5.x: /usr/ucb/sum),
    SVR4 checksums (SunOS 5.x: /usr/bin/sum), and the MD5 digital signatures
    for the above-mentioned patches that are available from:

        ftp://sunsolve1.sun.com/pub/patches/patches.html

    These checksums may not apply if you obtain patches from your answer
    centers.

File Name         BSD          SVR4         MD5
---------------   ---------    ---------    --------------------------------
103612-23.tar.Z   58756 3133   30630 6266   80BFC84479DAED881141250D924C6B1A
103613-23.tar.Z   25868 2829   1295 5657    5AE2770752A17D853029B539EF94B783
103187-25.tar.Z   64511 3195   17448 6389   36120E6EB91C100EB302CE2FEE96739A
103188-25.tar.Z   07195 2880   23176 5760   6707EAB1BD10B845F535E131836F8DC5
101945-49.tar.Z   25995 10899  19660 21798  D67A5744C87BAD1A31D87AED6DC3C362

------------------------------------------------------------------------------
Sun acknowledges with thanks AUSCERT, CERT/CC, and DFNCERT for their assistance
in the preparation of this bulletin.

Sun, AUSCERT, CERT/CC, and DFNCERT are members of FIRST, the Forum of Incident
Response and Security Teams. For more information about FIRST, visit the FIRST
web site at "http://www.first.org/";.
------------------------------------------------------------------------------

APPENDICES

A.  Patches listed in this bulletin are available to all Sun customers via
    World Wide Web at:

        ftp://sunsolve1.sun.com/pub/patches/patches.html

    Customers with Sun support contracts can also obtain patches from local
    Sun answer centers and SunSITEs worldwide.

B.  To report or inquire about a security problem with Sun software, contact
    one or more of the following:

        - Your local Sun answer centers
        - Your representative computer security response team, such as CERT
        - Sun Security Coordination Team. Send email to:

                security-alert () sun com

C.  To receive information or subscribe to our CWS (Customer Warning System)
    mailing list, send email to:

                security-alert () sun com

    with a subject line (not body) containing one of the following commands:

        Command         Information Returned/Action Taken
        -------         ---------------------------------

        HELP            An explanation of how to get information

        LIST            A list of current security topics

        QUERY [topic]   The mail containing the question is relayed to
                        the Security Coordination Team for response.

        REPORT [topic]  The mail containing the text is treated as a
                        security report and forwarded to the Security
                        Coordination Team. We do not recommend that detailed
                        problem descriptions be sent in plain text.

        SEND topic      A short status summary or bulletin. For example, to
                        retrieve a Security Bulletin #00138, supply the
                        following in the subject line (not body):

                                SEND #138

        SUBSCRIBE       Sender is added to our mailing list.  To subscribe,
                        supply the following in the subject line (not body):

                                SUBSCRIBE cws your-email-address

                        Note that your-email-address should be substituted
                        by your email address.

        UNSUBSCRIBE     Sender is removed from our mailing list.
------------------------------------------------------------------------------



Current thread: