SuSE: 'zlib/libz' Data corruption vulnerability, Part II

    Date11 Mar 2002
    CategorySuSE
    2979
    Posted ByLinuxSecurity Advisories
    An error in a decompression routine can corrupt the internal data structures of malloc by a double call to the free() function. If the data processed by the compression library is provided from an untrusted source, it may be possible for an attacker to interfere with the process using the zlib routines.
    
    ______________________________________________________________________________
    
                            SuSE Security Announcement
    
            Package:                libz/zlib
            Announcement-ID:        SuSE-SA:2002:010
            Date:                   Monday, Mar 11th 2002 20:45 MET
            Affected products:      6.4, 7.0, 7.1, 7.2, 7.3
                                    SuSE Linux Database Server
                                    SuSE eMail Server III
                                    SuSE Firewall
                                    SuSE Linux Connectivity Server
                                    SuSE Linux Enterprise Server 7
            Vulnerability Type:     remote command execution
            Severity (1-10):        8
            SuSE default package:   yes
            Other affected systems: systems with recent versions of the
                                    compression library
    
        Content of this advisory:
            1) security vulnerability resolved: libz/zlib
               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
    
        The zlib compression library is being used by many applications to
        provide data compression/decompression routines. An error in a
        decompression routine can corrupt the internal data structures of
        malloc by a double call to the free() function. If the data processed
        by the compression library is provided from an untrusted source, it
        may be possible for an attacker to interfere with the process using the
        zlib routines. The attack scenario includes a denial of service attack
        and memory/data disclosure, but it may also be possible to insert
        arbitrary code into the running program and to execute this code.
        This update fixes the known problems in the libz/zlib as a permanent
        fix. There exists no temporary workaround that can efficiently remedy
        the problem.
    
        It is expected that a large range of software is affected. The systems
        affected are by no means limited to Linux systems or other open-source
        based operating systems.
    
        Note:
        The libz compression library is being used by several hundred packages
        in all SuSE products. While the update of the libz package as itself is
        not problematic, it must be noted that many packages bring their own
        compression library in their source code. If these packages link against
        their own version of the libz compression library, their source needs
        to be fixed as well. Considering the length of a combined Security
        Announcement, SuSE Security publish a tandem-announcement, consisting
        of two seperate Security Announcements released in quick succession:
    
            SuSE-SA:2002:010    libz/zlib
            SuSE-SA:2002:011    packages containing libz/zlib
    
    
        Acknowledgements:
        We thank Owen Taylor who tracked down the bug in the compression
        library, and to Matthias Clasen for reporting the problem that seemed
        to be located in the libpng at first.
        We also thank Mark Adler and Jean-loup Gailly, the authors of the zlib
        package, for their quick response in the double-free() matter.
    
    
    
        SPECIAL INSTALL INSTRUCTIONS:
        ===============================
    
        * Installation of the update package:
        The installation of shared libraries on an actively running system
        should be done with special care. During the update of the libz package,
        runtime-linking the shared libraries is likely to fail for processes
        that execute a new binary with the execve(2) system call. If at all
        applicable, a system receiving the update should be kept as quiet as
        possible during the time that the RPM command runs. In doubt, please
        perform the update in Single User Mode ("init S"). The RPM command must
        not be interrupted during its operation.
        After performing the update, the processes that still use the old
        version of the package must be restarted for the libz upgrade to
        become effective. If you have performed the update in Single User Mode,
        this has been done already, and you can safely return to your default
        runlevel. If in doubt, reboot your system to make sure that the changes
        are becoming effective.
    
    
    
        Please 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 to install from the maintenance web.
    
    
        i386 Intel Platform:
    
        SuSE-7.3
         ftp://ftp.suse.com/pub/suse/i386/update/7.3/a1/libz-1.1.3-597.i386.rpm
          799491ca29f9bf95e3e38a73f25abea8
        source rpm:
         ftp://ftp.suse.com/pub/suse/i386/update/7.3/zq1/libz-1.1.3-597.src.rpm
          a4071506da6ab39dca5495530028d291
    
        SuSE-7.2
         ftp://ftp.suse.com/pub/suse/i386/update/7.2/a1/libz-1.1.3-573.i386.rpm
          2197aff65b09fb05b8969ace64d7a4a6
        source rpm:
         ftp://ftp.suse.com/pub/suse/i386/update/7.2/zq1/libz-1.1.3-573.src.rpm
          1694ed149ca946e7ea1cc2da3f14c181
    
        SuSE-7.1
         ftp://ftp.suse.com/pub/suse/i386/update/7.1/a1/libz-1.1.3-570.i386.rpm
          c309b104231c596bb81008c38a4e473c
        source rpm:
         ftp://ftp.suse.com/pub/suse/i386/update/7.1/zq1/libz-1.1.3-570.src.rpm
          950c86970cd7c3fc0a30cfab176769ac
    
        SuSE-7.0
         ftp://ftp.suse.com/pub/suse/i386/update/7.0/a1/libz-1.1.3-571.i386.rpm
          8bde6b53a78e5f920080bfa3b6a236a6
        source rpm:
         ftp://ftp.suse.com/pub/suse/i386/update/7.0/zq1/libz-1.1.3-571.src.rpm
          718c36c91cd0f97466cbb2303967d51c
    
        SuSE-6.4
         ftp://ftp.suse.com/pub/suse/i386/update/6.4/a1/libz-1.1.3-575.i386.rpm
          270fc89c1be6854288925a9326f9ca6e
        source rpm:
         ftp://ftp.suse.com/pub/suse/i386/update/6.4/zq1/libz-1.1.3-575.src.rpm
          625ed87653f820f7f65a4a8e045f6cc2
    
    
    
    
        Sparc Platform:
    
        SuSE-7.3
         ftp://ftp.suse.com/pub/suse/sparc/update/7.3/a1/libz-1.1.3-419.sparc.rpm
          f890b6d04e9164fc2afa05241c0e94c9
        source rpm:
         ftp://ftp.suse.com/pub/suse/sparc/update/7.3/zq1/libz-1.1.3-419.src.rpm
          818d39946dc6c73f425620fba546935c
    
        SuSE-7.1
         ftp://ftp.suse.com/pub/suse/sparc/update/7.1/a1/libz-1.1.3-406.sparc.rpm
          ff4ea0da2c5126311f654b2896a70dd9
        source rpm:
         ftp://ftp.suse.com/pub/suse/sparc/update/7.1/zq1/libz-1.1.3-406.src.rpm
          c3a49ea61f2642d53e29c8a81e07bfd9
    
        SuSE-7.0
         ftp://ftp.suse.com/pub/suse/sparc/update/7.0/a1/libz-1.1.3-406.sparc.rpm
          b9e22f0ff9785ca1d226bd2c5e135909
        source rpm:
         ftp://ftp.suse.com/pub/suse/sparc/update/7.0/zq1/libz-1.1.3-406.src.rpm
          25c2b7cd4e20da69b7d806551966bae8
    
    
    
    
    
        AXP Alpha Platform:
    
        SuSE-7.1
         ftp://ftp.suse.com/pub/suse/axp/update/7.1/a1/libz-1.1.3-434.alpha.rpm
          e8cd8561a1434c36afcccd856d79a483
        source rpm:
         ftp://ftp.suse.com/pub/suse/axp/update/7.1/zq1/libz-1.1.3-434.src.rpm
          f7c21774f76fb240205291c4e91ad83c
    
        SuSE-7.0
         ftp://ftp.suse.com/pub/suse/axp/update/7.0/a1/libz-1.1.3-434.alpha.rpm
          15510fc7563e669145d28a69e0e77d8e
        source rpm:
         ftp://ftp.suse.com/pub/suse/axp/update/7.0/zq1/libz-1.1.3-434.src.rpm
          008bc8f743e64e26dccd89baf882b214
    
        SuSE-6.4
         ftp://ftp.suse.com/pub/suse/axp/update/6.4/a1/libz-1.1.3-435.alpha.rpm
          7d29b7d929e4b36dd6268058bf3c7538
        source rpm:
         ftp://ftp.suse.com/pub/suse/axp/update/6.4/zq1/libz-1.1.3-435.src.rpm
          67a4bd496c7625aaa3049417930e97f8
    
    
    
    
        PPC Power PC Platform:
    
        SuSE-7.3
         ftp://ftp.suse.com/pub/suse/ppc/update/7.3/a1/libz-1.1.3-432.ppc.rpm
          b06097a1496ca5fd7b3492c2ab4f7337
        source rpm:
         ftp://ftp.suse.com/pub/suse/ppc/update/7.3/zq1/libz-1.1.3-432.src.rpm
          45127ca06e4b019b2e700a0c87c2edb6
    
        SuSE-7.1
         ftp://ftp.suse.com/pub/suse/ppc/update/7.1/a1/libz-1.1.3-417.ppc.rpm
          783a39b17295e169d344a5f7f1ad7e86
        source rpm:
         ftp://ftp.suse.com/pub/suse/ppc/update/7.1/zq1/libz-1.1.3-417.src.rpm
          2ac1e404e8a6723b1eb101b7c7d118e8
    
        SuSE-7.0
         ftp://ftp.suse.com/pub/suse/ppc/update/7.0/a1/libz-1.1.3-417.ppc.rpm
          24901e0c7ccb6bf5bf17b2af60596d96
        source rpm:
         ftp://ftp.suse.com/pub/suse/ppc/update/7.0/zq1/libz-1.1.3-417.src.rpm
          f9e6cda577a5007baa84fb9940ec718d
    
        SuSE-6.4
         ftp://ftp.suse.com/pub/suse/ppc/update/6.4/a1/libz-1.1.3-416.ppc.rpm
          b3580d5e1b3702c330957bde4422486c
        source rpm:
         ftp://ftp.suse.com/pub/suse/ppc/update/6.4/zq1/libz-1.1.3-416.src.rpm
          32cbca2dbc911da128b5bd1d19789792
    
    
    
    ______________________________________________________________________________
    
    2)  Pending vulnerabilities in SuSE Distributions and Workarounds:
    
      - Please see the following SuSE Security Announcement SuSE-SA:2002:011
        (packages containing libz) for upgrade information regarding packages
        that bring their own compression library in their source.
    
    ______________________________________________________________________________
    
    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 
           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 This email address is being protected from spambots. You need JavaScript enabled to view it.
    	),
           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 
           to verify the signature of the package, where  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 "This email address is being protected from spambots. You need JavaScript enabled to view it." 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:
    
        This email address is being protected from spambots. You need JavaScript enabled to view it.
            -   general/linux/SuSE security discussion.
                All SuSE security announcements are sent to this list.
                To subscribe, send an email to
                    <This email address is being protected from spambots. You need JavaScript enabled to view it.>.
    
        This email address is being protected from spambots. You need JavaScript enabled to view it.
            -   SuSE's announce-only mailing list.
                Only SuSE's security annoucements are sent to this list.
                To subscribe, send an email to
                    <This email address is being protected from spambots. You need JavaScript enabled to view it.>.
    
        For general information or the frequently asked questions (faq)
        send mail to:
            <This email address is being protected from spambots. You need JavaScript enabled to view it.> or
            <This email address is being protected from spambots. You need JavaScript enabled to view it.> respectively.
    
        =====================================================================
        SuSE's security contact is <This email address is being protected from spambots. You need JavaScript enabled to view it.> or <This email address is being protected from spambots. You need JavaScript enabled to view it.>.
        The <This email address is being protected from spambots. You need JavaScript enabled to view it.> 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 <This email address is being protected from spambots. You need JavaScript enabled to view it.>
    pub  1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <This email address is being protected from spambots. You need JavaScript enabled to view it.>
    
    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v1.0.6 (GNU/Linux)
    Comment: For info see  http://www.gnupg.org
    
    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
    DgCfZ5Wj+f7cnYpFZI6GkAyyczG09sE=
    =LRKC
    -----END PGP PUBLIC KEY BLOCK-----
    
    
    Roman Drahtmüller,
    SuSE Security.
    --
     -                                                                      -
    | Roman Drahtmüller      <This email address is being protected from spambots. You need JavaScript enabled to view it.> // "You don't need eyes to see, |
      SuSE GmbH - Security           Phone: //             you need vision!"
    | Nürnberg, Germany     +49-911-740530 //           Maxi Jazz, Faithless |
     -                                                                      -
    
    
    
    
    
    You are not authorised to post comments.

    Comments powered by CComment

    LinuxSecurity Poll

    What do you think of the articles on LinuxSecurity?

    No answer selected. Please try again.
    Please select either existing option or enter your own, however not both.
    Please select minimum 0 answer(s) and maximum 3 answer(s).
    /main-polls/24-what-do-you-think-of-the-quality-of-the-articles-on-linuxsecurity?task=poll.vote&format=json
    24
    radio
    [{"id":"87","title":"Excellent, don't change a thing!","votes":"36","type":"x","order":"1","pct":50.7,"resources":[]},{"id":"88","title":"Should be more technical","votes":"10","type":"x","order":"2","pct":14.08,"resources":[]},{"id":"89","title":"Should include more HOWTOs","votes":"25","type":"x","order":"3","pct":35.21,"resources":[]}]["#ff5b00","#4ac0f2","#b80028","#eef66c","#60bb22","#b96a9a","#62c2cc"]["rgba(255,91,0,0.7)","rgba(74,192,242,0.7)","rgba(184,0,40,0.7)","rgba(238,246,108,0.7)","rgba(96,187,34,0.7)","rgba(185,106,154,0.7)","rgba(98,194,204,0.7)"]350
    bottom200

    We use cookies to provide and improve our services. By using our site, you consent to our Cookie Policy.