[146] in Security FYI

home help back first fref pref prev next nref lref last post

[Security-fyi] CERT Advisory CA-2002-25 Integer Overflow In XDR Library

daemon@ATHENA.MIT.EDU (CERT Advisory)
Tue Aug 6 07:17:04 2002

Mime-Version: 1.0
Message-Id: <a05111b00b9755e4b1285@[66.92.67.187]>
Date: Tue, 6 Aug 2002 07:07:12 -0400
To: security-fyi@mit.edu
From: CERT Advisory <cert-advisory@cert.org>
Content-Type: text/plain; charset="us-ascii" ; format="flowed"
Errors-To: security-fyi-admin@mit.edu



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

CERT Advisory CA-2002-25 Integer Overflow In XDR Library

    Original release date: August 05, 2002
    Last revised: --
    Source: CERT/CC

    A complete revision history can be found at the end of this file.

Systems Affected

    Applications  using  vulnerable  implementations of SunRPC-derived XDR
    libraries, which include, but are not limited to:

      * Sun Microsystems network services library (libnsl)
      * BSD-derived libraries with XDR/RPC routines (libc)
      * GNU C library with sunrpc (glibc)

Overview

    There  is  an  integer  overflow  present  in the xdr_array() function
    distributed as part of the Sun Microsystems XDR library. This overflow
    has  been  shown  to  lead to remotely exploitable buffer overflows in
    multiple  applications,  leading  to  the execution of arbitrary code.
    Although  the  library was originally distributed by Sun Microsystems,
    multiple  vendors  have  included  the  vulnerable  code  in their own
    implementations.

I. Description

    The  XDR  (external data representation) libraries are used to provide
    platform-independent  methods for sending data from one system process
    to  another,  typically  over  a network connection. Such routines are
    commonly  used  in  remote  procedure  call  (RPC)  implementations to
    provide transparency to application programmers who need to use common
    interfaces  to  interact  with  many  different  types of systems. The
    xdr_array()  function  in the XDR library provided by Sun Microsystems
    contains an integer overflow that can lead to improperly sized dynamic
    memory  allocation.  Subsequent  problems  like  buffer  overflows may
    result, depending on how and where the vulnerable xdr_array() function
    is used.

    This  issue is currently being tracked as VU#192995 by the CERT/CC and
    CAN-2002-0391  in  the  Common  Vulnerabilities  and  Exposures  (CVE)
    dictionary.

II. Impact

    Because  SunRPC-derived XDR libraries are used by a variety of vendors
    in  a  variety  of  applications,  this defect may lead to a number of
    differing  security  problems. Exploiting this vulnerability will lead
    to  denial  of service, execution of arbitrary code, or the disclosure
    of sensitive information.

    Specific  impacts  reported  include  the ability to execute arbitrary
    code with root privileges (by exploiting dmispd, rpc.cmsd, or kadmind,
    for  example).  In addition, intruders who exploit the XDR overflow in
    MIT  KRB5  kadmind  may  be able to gain control of a Key Distribution
    Center  (KDC)  and  improperly authenticate to other services within a
    trusted Kerberos realm.

III. Solution

Apply a patch from your vendor

    Appendix A contains information provided by vendors for this advisory.
    As  vendors report new information to the CERT/CC, we will update this
    section  and note the changes in our revision history. If a particular
    vendor  is  not listed below or in the vulnerability note, we have not
    received their comments. Please contact your vendor directly.

    Note  that  XDR libraries can be used by multiple applications on most
    systems.  It may be necessary to upgrade or apply multiple patches and
    then recompile statically linked applications.

    Applications  that  are  statically  linked  must  be recompiled using
    patched  libraries.  Applications  that  are dynamically linked do not
    need  to be recompiled; however, running services need to be restarted
    in order to use the patched libraries.

    System  administrators  should  consider  the  following  process when
    addressing this issue:

     1. Patch or obtain updated XDR/RPC libraries.
     2. Restart  any  dynamically  linked  services  that  make use of the
        XDR/RPC libraries.
     3. Recompile  any statically linked applications using the patched or
        updated XDR/RPC libraries.

Disable access to vulnerable services or applications

    Until  patches  are  available  and  can  be  applied, you may wish to
    disable   access   to  services  or  applications  compiled  with  the
    vulnerable  xdr_array()  function.  Such applications include, but are
    not limited to, the following:

      * DMI Service Provider daemon (dmispd)
      * CDE Calendar Manager Service daemon (rpc.cmsd)
      * MIT Kerberos 5 Administration daemon (kadmind)

    As a best practice, the CERT/CC recommends disabling all services that
    are not explicitly required.

Appendix A. - Vendor Information

    This  appendix  contains  information  provided  by  vendors  for this
    advisory.  As  vendors  report new information to the CERT/CC, we will
    update this section and note the changes in our revision history. If a
    particular   vendor   is   not  listed  below  or  in  the  individual
    vulnerability notes, we have not received their comments.

Apple Computer, Inc.

    The vulnerability described in this note is fixed with Security Update
    2002-08-02.

Debian GNU/Linux

    The  Debian  GNU/Linux  distribution was vulnerable with regard to the
    the  XDR  problem  as  stated  above  with the following vulnerability
    matrix:

                        OpenAFS                Kerberos5             GNU libc
                        _______                _________             ________
  Debian 2.2 (potato)   not included           not included          vulnerable
  Debian 3.0 (woody)    vulnerable(DSA 142-1)  vulnerable(DSA 143-1) vulnerable
  Debian unstable (sid) vulnerable(DSA 142-1)  vulnerable(DSA 143-1) vulnerable

    However,  the  following advisories were raised recently which contain
    and announced fixes:

      DSA  142-1  OpenAFS  (safe  version  are: 1.2.3final2-6 (woody) and
      1.2.6-1 (sid))

      DSA  143-1  Kerberos5  (safe version are: 1.2.4-5woody1 (woody) and
      1.2.5-2 (sid))

    The  advisory  for  the  GNU  libc  is  pending, it is currently being
    recompiled. The fixed versions will probably be:

      Debian 2.2 (potato) glibc 2.1.3-23 or later
      Debian 3.0 (woody) glibc 2.2.5-11 or later
      Debian unstable (sid) glibc 2.2.5-12 or later

GNU glibc

    Version   2.2.5  and  earlier  versions  of  the  GNU  C  Library  are
    vulnerable.  For  Version  2.2.5, we suggest the following patch. This
    patch is also available from the GNU C Library CVS repository at:

      http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sunrpc/xdr_array.
      c.diff?r1=1.5&r2=1.5.2.1&cvsroot=glibc

      2002-08-02 Jakub Jelinek <jakub@redhat.com>

      * sunrpc/xdr_array.c    (xdr_array):    Check    for   overflow   on
        multiplication. Patch by Solar Designer <solar@openwall.com>.

      [ text of diff available in CVS repository link above --CERT/CC ]

FreeBSD, Inc.

    Please see
    ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:34.rpc
    .asc

Hewlett-Packard Company

    SOURCE: Hewlett-Packard Company

    RE: Potential RPC XDR buffer overflow

    At  the  time  of  writing this document, Hewlett Packard is currently
    investigating  the  potential impact to HP's released operating System
    software products.

    As further information becomes available HP will provide notice of the
    availability  of  any  necessary  patches  through  standard  security
    bulletin  announcements  and be available from your normal HP Services
    support channel.

Juniper Networks

    The  Juniper Networks SDX-300 Service Deployment System (SSC) does use
    XDR  for  communication with an ERX edge router, but does not make use
    of the Sun RPC libraries. The SDX-300 product is not vulnerable to the
    Sun RPC XDR buffer overflow as outlined in this CERT advisory.

KTH and Heimdal Kerberos

    kth-krb  and  heimdal are not vulnerable to this problem since they do
    not use any Sun RPC at all.

MIT Kerberos Development Team

    Please see
    http://web.mit.edu/kerberos/www/advisories/MITKRB5-SA-2002-001-xdr.txt

    The patch is available directly:
    http://web.mit.edu/kerberos/www/advisories/2002-001-xdr_array_patch.txt

    The  following  detached  PGP  signature  should be used to verify the
    authenticity and integrity of the patch:

    http://web.mit.edu/kerberos/www/advisories/2002-001-xdr_array_patch.tx
    t.asc

Microsoft Corporation

    Microsoft  is  currently  conducting  an  investigation  based on this
    report.  We  will  update  this  advisory  with information once it is
    complete.

NetBSD

    Please see
    ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-011.
    txt.asc

Network Appliance

    NetApp systems are not vulnerable to this problem.

OpenAFS

    OpenAFS    is    an    affected   vendor   for   this   vulnerability.
    http://www.openafs.org/pages/security/OPENAFS-SA-2002-001.txt  details
    how we have dealt with the issue.

Openwall Project

    The  xdr_array(3) integer overflow was present in the glibc package on
    Openwall  GNU/*/Linux  until  2002/08/01  when  it  was  corrected for
    Owl-current and documented as a security fix in the system-wide change
    log available at:

      http://www.openwall.com/Owl/CHANGES.shtml

    The  same glibc package update also fixes a very similar but different
    calloc(3)  integer overflow possibility that is currently not known to
    allow  for an attack on a particular application, but has been patched
    as  a  proactive  measure. The Sun RPC xdr_array(3) overflow may allow
    for  passive attacks on mount(8) by malicious or spoofed NFSv3 servers
    as  well  as  for  both  passive  and active attacks on RPC clients or
    services  that  one  might  install  on Owl. (There're no RPC services
    included with Owl.)

RedHat Inc.

    Red  Hat  distributes  affected packages glibc and Kerberos in all Red
    Hat  Linux distributions. We are currently working on producing errata
    packages,  when  complete  these  will  be  available  along  with our
    advisory  at  the  URLs  below.  At the same time users of the Red Hat
    Network will be able to update their systems using the 'up2date' tool.

      http://rhn.redhat.com/errata/RHSA-2002-166.html (glibc)
      http://rhn.redhat.com/errata/RHSA-2002-172.html (Kerberos 5)

SGI

    SGI is currently looking into the matter, per:

      ftp://patches.sgi.com/support/free/security/advisories/20020801-01-A

Sun Microsystems, Inc.

    Sun  can  confirm  that  there is a type overflow vulnerability in the
    xdr_array(3NSL)  function  which  is  part  of  the  network  services
    library,  libnsl(3LIB),  on Solaris 2.5.1 through 9. Sun has published
    Sun  Alert 46122 which describes the issue, applications affected, and
    workaround  information.  The  Sun  Alert  will  be  updated  as  more
    information or patches become available and is located here:

      http://sunsolve.Sun.COM/pub-cgi/retrieve.pl?doc=fsalert%2F46122

    Sun will be publishing a Sun Security Bulletin for this issue once all
    of the patches are available which will be located at:

      http://sunsolve.sun.com/security
      _________________________________________________________________

Appendix B. - References

     1. Manual entry for xdr_array(3)
     2. VU#192995
     3. RFC1831
     4. RFC1832
     5. Sun Alert 46122
     6. Security Alert MITKRB5-SA-2002-001-xdr
     7. Flaw in calloc and similar routines, Florian Weimer, University of
        Stuttgart, RUS-CERT, 2002-08-05
      _________________________________________________________________

    Thanks  to  Sun Microsystems for working with the CERT/CC to make this
    document    possible.   The   initial   vulnerability   research   and
    demonstration was performed by Internet Security Systems (ISS).
      _________________________________________________________________

    Authors: Jeffrey S. Havrilla and Cory F. Cohen.
    ______________________________________________________________________

    This document is available from:
    http://www.cert.org/advisories/CA-2002-25.html
    ______________________________________________________________________

CERT/CC Contact Information

    Email: cert@cert.org
           Phone: +1 412-268-7090 (24-hour hotline)
           Fax: +1 412-268-6989
           Postal address:
           CERT Coordination Center
           Software Engineering Institute
           Carnegie Mellon University
           Pittsburgh PA 15213-3890
           U.S.A.

    CERT/CC   personnel   answer  the  hotline  08:00-17:00  EST(GMT-5)  /
    EDT(GMT-4)  Monday  through  Friday;  they are on call for emergencies
    during other hours, on U.S. holidays, and on weekends.

     Using encryption

    We  strongly  urge you to encrypt sensitive information sent by email.
    Our public PGP key is available from
    http://www.cert.org/CERT_PGP.key

    If  you  prefer  to  use  DES,  please  call the CERT hotline for more
    information.

     Getting security information

    CERT  publications  and  other security information are available from
    our web site
    http://www.cert.org/

    To  subscribe  to  the CERT mailing list for advisories and bulletins,
    send  email  to majordomo@cert.org. Please include in the body of your
    message

    subscribe cert-advisory

    *  "CERT"  and  "CERT  Coordination Center" are registered in the U.S.
    Patent and Trademark Office.
    ______________________________________________________________________

    NO WARRANTY
    Any  material furnished by Carnegie Mellon University and the Software
    Engineering  Institute  is  furnished  on  an  "as is" basis. Carnegie
    Mellon University makes no warranties of any kind, either expressed or
    implied  as  to  any matter including, but not limited to, warranty of
    fitness  for  a  particular purpose or merchantability, exclusivity or
    results  obtained from use of the material. Carnegie Mellon University
    does  not  make  any warranty of any kind with respect to freedom from
    patent, trademark, or copyright infringement.
      _________________________________________________________________

    Conditions for use, disclaimers, and sponsorship information

    Copyright 2002 Carnegie Mellon University.

    Revision History
August 05, 2002:  Initial release

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8

iQCVAwUBPU8KIqCVPMXQI2HJAQFG2QQAumw8DlNwSDbrbGvkqrKX2wXVokgQ1vFU
a8iJhuSab79YLvO5OiWMvOKxiVWln74Jr2DSAP5JVTmtACIWLN4/pOWB71OJSC0L
gBUpjSAn/i+jR6YkmAC0XvLn1P+BuEYoOC2RWkhF/KjI7/f/O3/M9XokkhoXYYnx
MyMRLmOap2Y=
=vtJG
-----END PGP SIGNATURE-----
_______________________________________________
Security-fyi mailing list
Security-fyi@mit.edu
http://mailman.mit.edu/mailman/listinfo/security-fyi

home help back first fref pref prev next nref lref last post