TUCoPS :: Linux :: General :: ciacl104.txt

Linux xinetd Buffer Overflow

             __________________________________________________________

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

                             INFORMATION BULLETIN

                       SuSE Linux, xinetd Buffer Overflow

July 3, 2001 21:00 GMT                                            Number L-104
______________________________________________________________________________
PROBLEM:       SuSE Linux, xinetd has a buffer overflow vulnerability 
PLATFORM:      i386 Intel Platform: SuSE-6.3,6.4,7.0, 7.1, 7.2 Sparc Platform: 
               SuSE-7.1 AXP Alpha Platform: SuSE-6.3,6.4,7.0, 7.1 PPC Power PC 
               Platform: SuSE-6.4,7.0, 7.1 
DAMAGE:        The buffer overflow vulnerability allows a remote attacker to 
               execute arbitrary code at all privleges. 
SOLUTION:      Apply patches supplied by SuSE 
______________________________________________________________________________
VULNERABILITY  The risk is HIGH. The vulnerability results in a root 
ASSESSMENT:    compromise, it is remotely exploitable, and is widely 
               publicized. 
______________________________________________________________________________

[******  Start SuSE Advisory ******]
SuSE Security Announcement: xinetd (SuSE-SA:2001:022)

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

______________________________________________________________________________

                        SuSE Security Announcement

        Package:               	xinetd
        Announcement-ID:        SuSE-SA:2001:022
        Date:                   Friday, June 29th 2001, 13:26:55 CEST
        Affected SuSE versions: (6.0, 6.1, 6.2), 6.3, 6.4, 7.0, 7.1, 7.2
        Vulnerability Type:     remote code execution
        Severity (1-10):        7
        SuSE default package:   yes
        Other affected systems: All systems using xinetd

    Content of this advisory:
        1) security vulnerability resolved: xinetd buffer-overflows
           problem description, discussion, solution and upgrade information
        2) pending vulnerabilities, solutions, workarounds
        3) standard appendix (further information)

______________________________________________________________________________

1)  problem description, brief discussion, solution, upgrade information

    Zen-parse has reported a bug to Bugtraq which allows remote attackers
    to overflow a buffer in the logging routine of xinetd. During investigation
    we found that more problems exist within xinetd. Xinetd provides its own
    string-handling (snprintf()-like functions) routines and fails to handle
    length arguments of 0 properly. Instead of an immediate return it assumes
    'no limit' for writing characters to the target-buffer. This can lead
    to overflows and arbitrary remote code-execution. Additionally xinetd
    now sets the correct umask before starting other deamons.
    Please update the packages immediately, kill the old deamon and start
    the new xinetd deamon with the

          /etc/rc.d/xinetd start

    command again if you need it running.

    Regardless of the bugs in xinetd, please make sure you only run as many
    services as needed.


    i386 Intel Platform:

    SuSE-7.2
    ftp://ftp.suse.com/pub/suse/i386/update/7.2/n2/xinetd-2.1.8.8p3-139.i386.rpm
      a8122710a857e49a356b0786c8aad9eb
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.2/zq1/xinetd-2.1.8.8p3-139.src.rpm
      90187bd35f931f07ba72b54c16c1549c

    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/i386/update/7.1/n2/xinetd-2.1.8.8p3-140.i386.rpm
      346868fe76e17d17d87dadbac4c032bb
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.1/zq1/xinetd-2.1.8.8p3-140.src.rpm
      6656be9789888da5b1b37dc1aa9c69a9

    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/i386/update/7.0/n1/xinetd-2.1.8.8p3-140.i386.rpm
      ff001b856db620213608dac1c88ebfbe
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.0/zq1/xinetd-2.1.8.8p3-140.src.rpm
      627d2f09d9d4607f31e1902eee4e0cb5

    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/i386/update/6.4/n1/xinetd-2.1.8.8p3-139.i386.rpm
      ef4697d57a6ceb5e6a55bde51268b92a
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/6.4/zq1/xinetd-2.1.8.8p3-139.src.rpm
      1384b48ed19204324d4a8c2f75d3ea20

    SuSE-6.3
    ftp://ftp.suse.com/pub/suse/i386/update/6.3/n1/xinetd-2.1.8.8p3-141.i386.rpm
      3c29917f0688aa7509f98b0a00a38eed
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/6.3/zq1/xinetd-2.1.8.8p3-141.src.rpm
      b7f8cc1e5a7d3c2f6c56040c327a4b20


    Sparc Platform:

    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/sparc/update/7.1/n2/xinetd-2.1.8.8p3-89.sparc.rpm
      a78dd53e2da211b8822b4ca86359a6e0
    source rpm:
    ftp://ftp.suse.com/pub/suse/sparc/update/7.1/zq1/xinetd-2.1.8.8p3-89.src.rpm
      9b0acb0dacee2962f19057de43d9f421


    AXP Alpha Platform:

    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/axp/update/7.1/n2/xinetd-2.1.8.8p3-96.alpha.rpm
      bb2b45d56d2cf54733a20561c8a8e440
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/7.1/zq1/xinetd-2.1.8.8p3-96.src.rpm
      60610276aba8c103a43a40ea0366f675

    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/axp/update/7.0/n1/xinetd-2.1.8.8p3-96.alpha.rpm
      1e4f0685f380db64025837685f8e79c2
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/7.0/zq1/xinetd-2.1.8.8p3-96.src.rpm
      addfd497500387b4de4e2c77ff226e01

    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/axp/update/6.4/n1/xinetd-2.1.8.8p3-95.alpha.rpm
      f39287594d3297d2625f3878be6b7d98
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/6.4/zq1/xinetd-2.1.8.8p3-95.src.rpm
      ea727667791cd774a5df8bcb5b8b2870

    SuSE-6.3
    ftp://ftp.suse.com/pub/suse/axp/update/6.3/n1/xinetd-2.1.8.8p3-95.alpha.rpm
      364120a5e0ba13587efba8c082faafa0
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/6.3/zq1/xinetd-2.1.8.8p3-95.src.rpm
      08c540c506809a9a5b080aa21fe97406


    PPC Power PC Platform:

    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/ppc/update/7.1/n2/xinetd-2.1.8.8p3-102.ppc.rpm
      b73446661fe3f5967acd0242e83fb815
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/7.1/zq1/xinetd-2.1.8.8p3-102.src.rpm
      c89cb923d3c837e50e7f2efc2c9708d2

    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/ppc/update/7.0/n1/xinetd-2.1.8.8p3-101.ppc.rpm
      01fec52a269c456636bcda0d8401b639
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/7.0/zq1/xinetd-2.1.8.8p3-101.src.rpm
      f91f365e3cbedc3de52aab7667db97b2

    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/ppc/update/6.4/n1/xinetd-2.1.8.8p3-101.ppc.rpm
      ed8e343b428fe812502195a15d9c4219
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/6.4/zq1/xinetd-2.1.8.8p3-101.src.rpm
      a340276cec8a5dedcbcd29e199bef6a1


______________________________________________________________________________

2)  Pending vulnerabilities in SuSE Distributions and Workarounds:

    - rxvt

      The rxvt program contains a buffer-overflow which allows an attacker
      to locally execute arbitrary code under a different group-id. Please
      update to the newest rxvt packages.

    - dqs

      The dsh-program, shipped with the dqs package contains a buffer-overflow
      which allows local attackers to execute arbitrary code as root.
      Please update to the newest packages.

    - pcp

      A /tmp - race has been found in the pcp package which allows
      a local attacker to escalate his priviledges.

      Affected versions: 7.1, 7.2.

      We thank Mark Goodwin and Keith Owens from SGI who quickly responded
      to SuSE in this issue and who released a fixed version of the SGI
      Performance Co-Pilot in response to the security problem. Future SuSE
      Linux releases will include the most recent version of the package.

      Workaround: chmod a-s `rpm -ql pcp` /nosuchfile
      update-package does the same.


______________________________________________________________________________

3)  standard appendix: authenticity verification, additional information

  - Package authenticity verification:

    SuSE update packages are available on many mirror ftp servers all over
    the world. While this service is being considered valuable and important
    to the free and open source software community, many users wish to be
    sure about the origin of the package and its content before installing
    the package. There are two verification methods that can be used
    independently from each other to prove the authenticity of a downloaded
    file or rpm package:
    1) md5sums as provided in the (cryptographically signed) announcement.
    2) using the internal gpg signatures of the rpm package.

    1) execute the command
        md5sum <name-of-the-file.rpm>
       after you downloaded the file from a SuSE ftp server or its mirrors.
       Then, compare the resulting md5sum with the one that is listed in the
       announcement. Since the announcement containing the checksums is
       cryptographically signed (usually using the key security@suse.de),
       the checksums show proof of the authenticity of the package.
       We disrecommend to subscribe to security lists which cause the
       email message containing the announcement to be modified so that
       the signature does not match after transport through the mailing
       list software.
       Downsides: You must be able to verify the authenticity of the
       announcement in the first place. If RPM packages are being rebuilt
       and a new version of a package is published on the ftp server, all
       md5 sums for the files are useless.

    2) rpm package signatures provide an easy way to verify the authenticity
       of an rpm package. Use the command
        rpm -v --checksig <file.rpm>
       to verify the signature of the package, where <file.rpm> is the
       filename of the rpm package that you have downloaded. Of course,
       package authenticity verification can only target an uninstalled rpm
       package file.
       Prerequisites:
        a) gpg is installed
        b) The package is signed using a certain key. The public part of this
           key must be installed by the gpg program in the directory
           ~/.gnupg/ under the user's home directory who performs the
           signature verification (usually root). You can import the key
           that is used by SuSE in rpm packages for SuSE Linux by saving
           this announcement to a file ("announcement.txt") and
           running the command (do "su -" to be root):
            gpg --batch; gpg < announcement.txt | gpg --import
           SuSE Linux distributions version 7.1 and thereafter install the
           key "build@suse.de" upon installation or upgrade, provided that
           the package gpg is installed. The file containing the public key
           is placed at the toplevel directory of the first CD (pubring.gpg)
           and at ftp://ftp.suse.com/pub/suse/pubring.gpg-build.suse.de .


  - SuSE runs two security mailing lists to which any interested party may
    subscribe:

    suse-security@suse.com
        -   general/linux/SuSE security discussion.
            All SuSE security announcements are sent to this list.
            To subscribe, send an email to
                <suse-security-subscribe@suse.com>.

    suse-security-announce@suse.com
        -   SuSE's announce-only mailing list.
            Only SuSE's security annoucements are sent to this list.
            To subscribe, send an email to
                <suse-security-announce-subscribe@suse.com>.

    For general information or the frequently asked questions (faq)
    send mail to:
        <suse-security-info@suse.com> or
        <suse-security-faq@suse.com> respectively.

    ===================================================
    SuSE's security contact is <security@suse.com>.
    The <security@suse.com> public key is listed below.
    ===================================================
______________________________________________________________________________

    The information in this advisory may be distributed or reproduced,
    provided that the advisory is not modified in any way. In particular,
    it is desired that the cleartext signature shows proof of the
    authenticity of the text.
    SuSE GmbH makes no warranties of any kind whatsoever with respect
    to the information contained in this security advisory.

Type Bits/KeyID    Date       User ID
pub  2048R/3D25D3D9 1999-03-06 SuSE Security Team <security@suse.de>
pub  1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.de>

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

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
l2LBCXFqw5+5fA==
=Jnnf
- -----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv

iQEVAwUBOzxlG3ey5gA9JdPZAQHe3wf/fyRLvSPGLGV1KQQed4eBqqXSxJgZBskB
FVgCYtYFUTbcg0cSRjE7yRp1qBYg0jeKLf1PqNoDt+GcVR2HbsG3cvmyW/8ZZUiP
tfgd/7lKqDyYBYMMmSOxf16AqUwHp8sVihmBkE8UGKy/2EIu4UBzlMaD4bkbGB+P
/T/L5NjIct/yoTKVbksJmQeEW03XfXLG9a9X1LXS/4oR030Rco1I3dVAjHsGkwj/
Ya9zlwz7DfZCOhdeqD5LiCApbzFcn4fRxofyhp/M2DkTQp3650yp0H2/nGBZJ3fH
davxTMzZ7m34oC2cTcOMoDeYDjQRX2eYI3bQKlE50v9x/n5XLbfAmg==
=vVay
-----END PGP SIGNATURE-----

[******  End SuSE Advisory ******]
_______________________________________________________________________________

CIAC wishes to acknowledge the contributions of SuSE for the 
information contained in this bulletin.
_______________________________________________________________________________


CIAC, the Computer Incident Advisory Center, 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)

L-092: Microsoft Predictable Name Pipes In Telnet
L-093: HP-UX kmmodreg Vulnerability
L-094: BIND Inadvertent Local Exposure of HMAC-MD5 (TSIG) Keys
L-095: Microsoft SQL Query Method Vulnerability
L-096: Red Hat LPRng Vulnerability
L-097: Cisco 6400 NRP2 telnet Vulnerability
L-098: Microsoft Index Server ISAPI Extension Buffer Overflow
L-099: SGI PCP Pmpost Symlink Vulnerability
L-100: FrontPage Sub-Component Vulnerability
L-103: Sun ypbind Buffer Overflow Vulnerability


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