SuSE: cyrus-imapd remote command execution
Posted by Joe Shakespeare   
SuSE Stefan Esser reported various bugs within the Cyrus IMAP Server. These include buffer overflows and out-of-bounds memory access which could allow remote attackers to execute arbitrary commands as root. The bugs occur in the pre-authentication phase, therefore an update is strongly recommended.

______________________________________________________________________________

                        SUSE Security Announcement

        Package:                cyrus-imapd
        Announcement-ID:        SUSE-SA:2004:043
        Date:                   Friday, Dec 3rd 2004 13:00 MEST
        Affected products:      8.1, 8.2, 9.0, 9.1, 9.2
                                SUSE Linux Enterprise Server 8, 9
                                SuSE-Linux-Standard-Server 8
                                SuSE Linux Openexchange Server 4
        Vulnerability Type:     remote command execution
        Severity (1-10):        5
        SUSE default package:   No
        Cross References:       CAN-2004-1011
                                CAN-2004-1012
                                CAN-2004-1013

    Content of this advisory:
        1) security vulnerability resolved:
             - buffer overflow and out of bounds access in cyrus imapd
           problem description
        2) solution/workaround
        3) special instructions and notes
        4) package location and checksums
        5) pending vulnerabilities, solutions, workarounds:
            - suidperl
            - putty
        6) standard appendix (further information)

______________________________________________________________________________

1) problem description, brief discussion

    Stefan Esser reported various bugs within the Cyrus IMAP Server.
    These include buffer overflows and out-of-bounds memory access
    which could allow remote attackers to execute arbitrary commands
    as root. The bugs occur in the pre-authentication phase, therefore
    an update is strongly recommended.


2) solution/workaround

    There is no temporary workaround except shutting down the IMAP server.


3) special instructions and notes

    After successfully updating the cyrus-imapd package you have to issue
    the following command as root:

      /sbin/rccyrus restart


4) package location and checksums

    Download the update package for your distribution and verify its
    integrity by the methods listed in section 3) of this announcement.
    Then, install the package using the command "rpm -Fhv file.rpm" to apply
    the update.
    Our maintenance customers are being notified individually. The packages
    are being offered for installation from the maintenance web.

    x86 Platform:

    SUSE Linux 9.2:
    ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/i586/cyrus-imapd-2.2.8-6.3.i586.rpm
      563c7c359df3e4572c27bccd1c4962eb
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/i586/cyrus-imapd-2.2.8-6.3.i586.patch.rpm
      ceee2a62831855a563c56a0d7be12a6d
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/src/cyrus-imapd-2.2.8-6.3.src.rpm
      c24904edebe628e9dab9b805af56359a

    SUSE Linux 9.1:
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/cyrus-imapd-2.2.3-83.19.i586.rpm
      53af4c594493abca71bd2789c6599019
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/cyrus-imapd-2.2.3-83.19.i586.patch.rpm
      2c596ce65de5d13c0ca14459e0462bd9
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/cyrus-imapd-2.2.3-83.19.src.rpm
      015268204791fc27c128705b1a22ca37

    SUSE Linux 9.0:
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/cyrus-imapd-2.1.15-89.i586.rpm
      ed3c4bc9178eea7ad5a8a406d53a230d
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/cyrus-imapd-2.1.15-89.i586.patch.rpm
      b1ddc189663da719ec5d55ea186b795b
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/cyrus-imapd-2.1.15-89.src.rpm
      6692959f014ed63d0c83ca02632e456b

    SUSE Linux 8.2:
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/cyrus-imapd-2.1.12-75.i586.rpm
      09223533665db543be3e85b53b89b50a
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/cyrus-imapd-2.1.12-75.i586.patch.rpm
      c4606d6b48577af54486c40fb35a31b9
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/src/cyrus-imapd-2.1.12-75.src.rpm
      beb341ef93888c1f1e3f6e6532109b0d

    SUSE Linux 8.1:
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/cyrus-imapd-2.1.16-56.i586.rpm
      2d5c5cc7de173ff8153544166a19533c
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/cyrus-imapd-2.1.16-56.i586.patch.rpm
      8d1cc9bea8f323c15b982dfc43df7b6c
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/src/cyrus-imapd-2.1.16-56.src.rpm
      bd1e20bd42974bbe9f8e3aee826a4444



    x86-64 Platform:

    SUSE Linux 9.2:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.2/rpm/x86_64/cyrus-imapd-2.2.8-6.3.x86_64.rpm
      57bd598694d82f7f52af34659773d890
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.2/rpm/x86_64/cyrus-imapd-2.2.8-6.3.x86_64.patch.rpm
      9702a0541440af888aead910120085af
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.2/rpm/src/cyrus-imapd-2.2.8-6.3.src.rpm
      c24904edebe628e9dab9b805af56359a

    SUSE Linux 9.1:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/cyrus-imapd-2.2.3-83.19.x86_64.rpm
      d279dd8620493482cba6b4706ea6124d
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/cyrus-imapd-2.2.3-83.19.x86_64.patch.rpm
      33184f8fb2dfeb4f27fe506ee204ee82
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/cyrus-imapd-2.2.3-83.19.src.rpm
      742352f41f57c4b3221e0672e31f865f

    SUSE Linux 9.0:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/cyrus-imapd-2.1.15-89.x86_64.rpm
      d9e387c4161fdeef2680508d17df159a
    patch rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/cyrus-imapd-2.1.15-89.x86_64.patch.rpm
      4411a55662c6567ba48055c72d9ebd1d
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/cyrus-imapd-2.1.15-89.src.rpm
      42cc2346b342320e77be923ee12c5678

______________________________________________________________________________

5)  Pending vulnerabilities in SUSE Distributions and Workarounds:

    - suidperl
      SUSE LINUX 9.2 follows the new upstream policy to install
      /usr/bin/suidperl as hardlink to /usr/bin/perl. In previous perl
      versions it used to be a hardlink to /usr/bin/sperl*. Therefore one
      must not set a setuid bit on /usr/bin/suidperl as suggested in the
      RPM package description of perl. Set the bit on /usr/bin/sperl5.8.5
      instead if you really need the suid feature. Also check your
      /etc/permissions.local file for references of /usr/bin/suidperl if
      you where upgrading from previous SUSE LINUX releases.

      SUSE Linux is not affected by this problem in the default
      installation, only if the administrator added the s-bit to
      suidperl.

    - putty
      The SUSE LINUX distribution comes with putty a Windows-based SSH and
      Telnet client. This client is vulnerable to a buffer overflow that
      can be exploited by a malicious SSH server to execute arbitrary code
      remotely. Putty is just included on the CDs/DVDs and is not installed
      on the Linux system.
      Upcoming distributions will have this vulnerability fixed.

______________________________________________________________________________

6)  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 
       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 recommend against subscribing to security lists that cause the
       e-mail 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 
       to verify the signature of the package, where  is the
       file name 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 top-level 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-announce@suse.com
        -   SUSE's announce-only mailing list.
            Only SUSE's security announcements are sent to this list.
            To subscribe, send an email to
                .

    For general information or the frequently asked questions (faq)
    send mail to:
         or
         respectively.

    =====================================================================
    SUSE's security contact is  or .
    The  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 clear-text signature shows proof of the
    authenticity of the text.
    SUSE Linux AG makes no warranties of any kind whatsoever with respect
    to the information contained in this security advisory.