TUCoPS :: SGI :: ciach062.txt

SGI Irix Ordist Login Scheme Buffer Overrun

-----BEGIN PGP SIGNED MESSAGE-----

             __________________________________________________________

                       The U.S. Department of Energy
                    Computer Incident Advisory Capability
                           ___  __ __    _     ___
                          /       |     /_\   /
                          \___  __|__  /   \  \___
             __________________________________________________________

                             INFORMATION BULLETIN

           SGI IRIX ordist, login/scheme Buffer Overrun Vulnerability

May 28, 1997 18:00 GMT                                             Number H-62
______________________________________________________________________________
PROBLEM:       Two vulnerabilities have been identified on the SGI IRIX
               operating system: (1) ordist program, and the (2) login
               program.
PLATFORM:      All SGI systems running IRIX 6.2. Other versions (including
               IRIX 5.x) may be vulnerable.
DAMAGE:        These vulnerabilities may allow local users to gain root
               privileges.
SOLUTION:      Apply the suggested workarounds listed below.
______________________________________________________________________________
VULNERABILITY  Exploit information involving these vulnerabilities have been
ASSESSMENT:    made publicly available.
______________________________________________________________________________

[ Start AUSCERT Advisories ]

1. ordist Buffer Overrun Vulnerability

===========================================================================
AA-97.23                        AUSCERT Advisory
                  SGI IRIX ordist Buffer Overrun Vulnerability
                                 28 May 1997

Last Revised:   --

- ----------------------------------------------------------------------------

AUSCERT has received information that a vulnerability exists in ordist(1c),
distributed under IRIX 6.2.  Other versions of IRIX may also be vulnerable.

This vulnerability may allow local users to gain root privileges.

Exploit information involving this vulnerability has been made publicly
available.

At this stage, AUSCERT is unaware of any official vendor patches.  AUSCERT
recommends that sites apply the workaround given in Section 3 until vendor
patches are made available.

This advisory will be updated as more information becomes available.

- ----------------------------------------------------------------------------

1.  Description

    ordist(1c) is a program used to maintain identical copies of files over
    multiple hosts.  It preserves the owner, group, mode and mtime of
    a file if possible.

    Due to insufficient bounds checking on arguments which are supplied
    by users, it is possible to overwrite the internal stack space of the
    ordist program while it is executing.  By supplying a carefully designed
    argument to the ordist program, intruders may be able to force ordist to
    execute arbitrary commands.  As ordist is setuid root, this may allow
    intruders to run arbitrary commands with the privileges of root.

    Sites can determine if this program is installed by using:

        % ls -l /usr/bsd/ordist

    ordist is installed by default in /usr/bsd.  Sites are encouraged to check
    for the presence of this program regardless of the version of IRIX
    installed.

    Exploit information involving this vulnerability has been made publicly
    available.

2.  Impact

    This vulnerability may allow local users to gain root privileges.

3.  Workarounds/Solution

    AUSCERT recommends that sites prevent the exploitation of this
    vulnerability in ordist by immediately applying the workaround given in
    Section 3.1.

    If the ordist functionality is required by non-root users, AUSCERT
    recommends applying the workaround given in Section 3.2.

    Currently there are no vendor patches available that address this
    vulnerability.  AUSCERT recommends that official vendor patches be
    installed when they are made available.

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 ordist program immediately.  As ordist will no longer work for
    non-root users, it is recommended that the execute permissions for
    them also be removed.

        # ls -l /usr/bsd/ordist
        -rwsr-xr-x   1 root   sys     70564 Nov 28 15:07 /usr/bsd/ordist

        # chmod 500 /usr/bsd/ordist
        # ls -l /usr/bsd/ordist
        -r-x------   1 root   sys     70564 Nov 28 15:07 /usr/bsd/ordist

3.2 Install ordist 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 as described in Section 3.2.1.  For sites without a C
    compiler, AUSCERT has made pre-compiled binaries available
    (Section 3.2.2).

3.2.1 Installing the wrapper from source

    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 ordist 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 ordist command.  The wrapper program can also be configured
    to syslog any failed attempts to execute ordist 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 ordist, 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.2.2 Installing the wrapper binaries

    A pre-compiled wrapper binary is provided for sites that wish to
    install the wrapper but do not have a C compiler available.  AUSCERT
    has compiled the wrapper on IRIX 5.3, however later versions of IRIX
    should be able to use the wrapper binary without recompilation.  The
    following compile time options have been used to create the binaries:

        REAL_PROG='"/usr/bsd/ordist.real"'
        MAXARGLEN=32
        SYSLOG

    More information on these options can be found in Section 3.2.1 and
    in the overflow_wrapper.c source code.

    The pre-compiled binary for the wrapper program can be retrieved from:

        ftp://ftp.auscert.org.au/pub/auscert/tools/
                                           AA-97.23-ordist_wrapper.tar.Z

    The MD5 checksum for AA-97.23-ordist_wrapper.tar.Z is:

        MD5 (AA-97.23-ordist_wrapper.tar.Z) = 0eed9d9a52658181a1ce9b4ce2ed7fd2

    AA-97.23-ordist_wrapper.tar.Z contains a README file with installation
    instructions, as well as a pre-compiled binary.

    Sites are encouraged to carefully read the installation notes in the
    README file before installation.

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 vulnerabilities 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, the functionality provided by the ordist program is not
    needed by many sites.  If sites had previously disabled this program,
    they would not have been susceptible to this latest vulnerability.

- ----------------------------------------------------------------------------

2. login/scheme Buffer Overrun Vulnerability

===========================================================================
AA-97.22                        AUSCERT Advisory
                   SGI IRIX login/scheme Buffer Overrun Vulnerability
                                 28 May 1997

Last Revised: --

- ----------------------------------------------------------------------------

AUSCERT has received information that a vulnerability exists in login(1),
distributed under IRIX 6.2.  Other versions (including IRIX 5.x) may also
be vulnerable.

This vulnerability may allow local users to gain root privileges.

Exploit information involving this vulnerability has been made publicly
available.

At this stage, AUSCERT is unaware of any official vendor patches.  AUSCERT
recommends that sites apply the workaround given in Section 3 until vendor
patches are made available.

This advisory will be updated as more information becomes available.

- ----------------------------------------------------------------------------

1.  Description

    login(1) is a program used at the beginning of each terminal session
    that allows users to identify themselves to the session.  Under current
    versions of IRIX this functionality is supplied by the program
    /usr/lib/iaf/scheme.  The login program is a symbolic link to
    /usr/lib/iaf/scheme.

    Due to insufficient bounds checking on arguments which are supplied
    by users, it is possible to overwrite the internal stack space of the
    scheme program while it is executing.  By supplying a carefully designed
    argument to the scheme program, intruders may be able to force scheme to
    execute arbitrary commands.  As scheme is setuid root, this may allow
    intruders to run arbitrary commands with root privileges.

    The login program is installed in /usr/bin/login.  Under default
    configurations this is a symbolic link to /usr/lib/iaf/scheme.

        % ls -l /usr/bin/login
        lrwxr-xr-x    1 root     sys     17 Nov 22  1994 /usr/bin/login ->
        ../lib/iaf/scheme

        % ls -l /usr/lib/iaf/scheme
        -rwsr-xr-x    1 root     sys  65832 Nov 22  1994 /usr/lib/iaf/scheme

    Exploit information involving this vulnerability has been made publicly
    available.

    Although AUSCERT has only verified this vulnerability under IRIX 6.2,
    this vulnerability is believed to affect other versions of IRIX,
    including IRIX 5.x.

2.  Impact

    This vulnerability may allow local users to gain root privileges.

3.  Workarounds/Solution

    AUSCERT recommends that sites prevent the exploitation of this
    vulnerability in login/scheme by immediately applying the workaround
    given in Section 3.1.

    To maintain the full login/scheme functionality, AUSCERT
    recommends applying the workaround given in Section 3.2.

    Currently there are no vendor patches available that address this
    vulnerability.  AUSCERT recommends that official vendor patches be
    installed when they are made available.

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 scheme program immediately.

        # ls -l /usr/lib/iaf/scheme
        -rwsr-xr-x    1 root  sys    58324 Nov 28  1996 /usr/lib/iaf/scheme

        # chmod 500 /usr/lib/iaf/scheme
        # ls -l /usr/lib/iaf/scheme
        -r-x------    1 root  sys    58324 Nov 28  1996 /usr/lib/iaf/scheme

3.2 Install scheme 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 as described in Section 3.2.1.  For sites without a C
    compiler, AUSCERT has made pre-compiled binaries available
    (Section 3.2.2).

3.2.1 Installing the wrapper from source

    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 scheme 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 scheme command.  The wrapper program can also be configured
    to syslog any failed attempts to execute scheme 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 scheme, 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.2.2 Installing the wrapper binaries

    A pre-compiled wrapper binary is provided for sites that wish to install
    the wrapper but do not have a C compiler available.  AUSCERT has
    compiled the wrapper on IRIX 5.3, however later versions of IRIX should
    be able to use the wrapper binary without recompilation.  The following
    compile time options have been used to create the binaries:

        REAL_PROG='"/usr/lib/iaf/scheme.real"'
        MAXARGLEN=32
        SYSLOG

    More information on these options can be found in Section 3.2.1 and
    in the overflow_wrapper.c source code.

    The pre-compiled binaries for the wrapper program can be retrieved from:

        ftp://ftp.auscert.org.au/pub/auscert/tools/
                                AA-97.22-scheme_wrapper.tar.Z

    The MD5 checksum for AA-97.22-scheme_wrapper.tar.Z is:

        MD5 (AA-97.22-scheme_wrapper.tar.Z) = dc302aa275a4009d1545180bfce8ebf4

    AA-97.22-scheme_wrapper.tar.Z contains a README file with installation
    instructions, as well as a pre-compiled binary.

    Sites are encouraged to carefully read the installation notes in the
    README file before installation.

- ----------------------------------------------------------------------------

[ End AUSCERT Advisories ]

______________________________________________________________________________

CIAC wishes to acknowledge the contributions of AUSCERT, Ian Farquhar, and
the Prentice Center, University of Queensland for 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 510-422-8193
    FAX:      +1 510-423-8002
    STU-III:  +1 510-423-2604
    E-mail:   ciac@llnl.gov

For emergencies and off-hour assistance, DOE, DOE contractor sites,
and the NIH may contact CIAC 24-hours a day. During off hours (5PM -
8AM PST), call the CIAC voice number 510-422-8193 and leave a message,
or call 800-759-7243 (800-SKY-PAGE) to send a Sky Page. CIAC has two
Sky Page PIN numbers, the primary PIN number, 8550070, is for the CIAC
duty person, and the secondary PIN number, 8550074 is for the CIAC
Project Leader.

Previous CIAC notices, anti-virus software, and other information are
available from the CIAC Computer Security Archive.

   World Wide Web:      http://ciac.llnl.gov/
   Anonymous FTP:       ciac.llnl.gov (128.115.19.53)
   Modem access:        +1 (510) 423-4753 (28.8K baud)
                        +1 (510) 423-3331 (28.8K baud)

CIAC has several self-subscribing mailing lists for electronic
publications:
1. CIAC-BULLETIN for Advisories, highest priority - time critical
   information and Bulletins, important computer security information;
2. CIAC-NOTES for Notes, a collection of computer security articles;
3. SPI-ANNOUNCE for official news about Security Profile Inspector
   (SPI) software updates, new features, distribution and
   availability;
4. SPI-NOTES, for discussion of problems and solutions regarding the
   use of SPI products.

Our mailing lists are managed by a public domain software package
called Majordomo, which ignores E-mail header subject lines. To
subscribe (add yourself) to one of our mailing lists, send the
following request as the E-mail message body, substituting
ciac-bulletin, ciac-notes, spi-announce OR spi-notes for list-name:

E-mail to       ciac-listproc@llnl.gov or majordomo@tholia.llnl.gov:
        subscribe list-name
  e.g., subscribe ciac-notes

You will receive an acknowledgment email immediately with a confirmation
that you will need to mail back to the addresses above, as per the
instructions in the email.  This is a partial protection to make sure
you are really the one who asked to be signed up for the list in question.

If you include the word 'help' in the body of an email to the above address,
it will also send back an information file on how to subscribe/unsubscribe,
get past issues of CIAC bulletins via email, etc.

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)

H-52: IRIX csetup Program Vulnerability
H-53: Vulnerability in webdist.cgi
H-54: Vulnerability in xlock
H-55: IRIX netprint Program Security Vulnerability
H-56: Solaris 2.x lp temporary files creation Vulnerability
H-57: Windows NT/95 Out of Band Data Exploit
H-58: IRIX runpriv Program Vulnerability
H-59: Solaris 2.x ps Buffer Overflow Vulnerability
H-60: Vulnerability in metamail
H-61: SGI IRIX df, pset, and eject Buffer Overrun Vulnerabilities



-----BEGIN PGP SIGNATURE-----
Version: 4.0 Business Edition

iQCVAwUBM42vabnzJzdsy3QZAQF7qwP+IsXVHNTePgiSGxCQjytLeb/JYOpvTQ/u
zsEw20hUKmVgyq5OPL8AyDw+5ozf495/aHwO662Phe5pKnhzQ/LraV71Th6m2gWT
EhA+C83Lt6FNAydTuqolpOSBqUZ50pO99xka44vMgKh+l+sjk1a6c4m7opiUHAXX
OTCBgUBYIzE=
=wD+b
-----END PGP SIGNATURE-----

TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH