===================================================================== CERT-Renater Note d'Information No. 2004/VULN344 _____________________________________________________________________ DATE : 05/08/2004 HARDWARE PLATFORM(S) : / OPERATING SYSTEM(S) : Systems using libpng. ====================================================================== ______________________________________________________________________________ SUSE Security Announcement Package: libpng Announcement-ID: SUSE-SA:2004:023 Date: Wednesday, Aug 4th 2004 16:00 MEST Affected products: 8.0, 8.1, 8.2, 9.0, 9.1 SUSE Linux Database Server, SUSE eMail Server III, 3.1 SUSE Linux Enterprise Server 7, 8, 9 SUSE Linux Firewall on CD/Admin host SUSE Linux Connectivity Server SUSE Linux Office Server Vulnerability Type: remote system compromise Severity (1-10): 9 SUSE default package: yes Cross References: VU#388984 VU#236656 VU#160448 VU#477512 VU#817368 VU#286464 CAN-2004-0597 CAN-2004-0598 CAN-2004-0599 Content of this advisory: 1) security vulnerability resolved: - stack based buffer overflows - NULL pointer dereference - integer overflows problem description 2) solution/workaround 3) special instructions and notes 4) package location and checksums 5) pending vulnerabilities, solutions, workarounds: - mod_ssl - lha - gfxboot - liby2util - pure-ftpd - neon - pavuk - sox - gaim - kernel 6) standard appendix (further information) ______________________________________________________________________________ 1) problem description, brief discussion Several different security vulnerabilities were found in the PNG library which is used by applications to support the PNG image format. A remote attacker is able to execute arbitrary code by triggering a buffer overflow due to the incorrect handling of the length of transparency chunk data and in other pathes of image processing. (VU#388984, VU#817368, CAN-2004-0597) A special PNG image can be used to cause an application crashing due to NULL pointer dereference in the function png_handle_iCPP() (and other locations). (VU#236656, CAN-2004-0598) Integer overflows were found in png_handle_sPLT(), png_read_png() functions and other locations. These bugs may at least crash an application. (VU#160448, VU#477512, VU#286464, CAN-2004-0599) Many thanks to Chris Evans who reported issues to us and other vendors. 3) special instructions and notes Various applications use libpng either dynamically linked, statically linked, or by linking a copy of libpng included in the application's source distribution. In the first case you have to restart the affected application. In the other cases we will release updates for these packages if the vulnerable libpng code is called with input from an untrusted source. 4) package location and checksums 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. x86 Platform: SUSE Linux 9.1: ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/libpng-1.2.5-182.7.i586.rpm 0e89a04a0a50a49f756795bbd319e1dd patch rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/libpng-1.2.5-182.7.i586.patch.rpm dc7270f4c0c728c3ba7252d0a551e437 source rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/libpng-1.2.5-182.7.src.rpm bb8d8000a010d92747dda1b0908d41aa SUSE Linux 9.0: ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/libpng-1.2.5-191.i586.rpm 5b34c70a715cd34bb0e5879063dcf63b patch rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/libpng-1.2.5-191.i586.patch.rpm 6c192934eae546bc1f2c9b7980c848f0 source rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/libpng-1.2.5-191.src.rpm c740a8c8c6188470512c91ec8e9e70a9 SUSE Linux 8.2: ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/libpng-1.2.5-191.i586.rpm 64d76d67104123317c4a66a0721072e8 patch rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/libpng-1.2.5-191.i586.patch.rpm 372b2eae57ff3ff90ad1250e8a2d3a91 source rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/src/libpng-1.2.5-191.src.rpm 16dde1bf26f8c9c006ccad4779d138d7 SUSE Linux 8.1: ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/libpng-1.2.4-115.i586.rpm 88dc17c0edccfcd65fea3539379de370 patch rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/libpng-1.2.4-115.i586.patch.rpm 24d8632e5454e46ce4623c5a672a3d5d source rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/src/libpng-1.2.4-115.src.rpm e3086525ee914ddc5dc0c7da7ab96a25 SUSE Linux 8.0: ftp://ftp.suse.com/pub/suse/i386/update/8.0/gra1/libpng-2.1.0.12-169.i386.rpm 09b22a2fab61b1018ce73e2965777123 patch rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.0/gra1/libpng-2.1.0.12-169.i386.patch.rpm 097de7e1c11106390128b6996041fe3c source rpm(s): ftp://ftp.suse.com/pub/suse/i386/update/8.0/zq1/libpng-2.1.0.12-169.src.rpm 9e1da14f139fc4dcf481cdf836397da7 x86-64 Platform: SUSE Linux 9.1: ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/libpng-1.2.5-182.7.x86_64.rpm c6c0f425059cf94803952530f0e9ba02 patch rpm(s): ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/libpng-1.2.5-182.7.x86_64.patch.rpm 01814d5c445560c6bcca0f1d9221e5be source rpm(s): ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/libpng-1.2.5-182.7.src.rpm 27c4236b2ca11a760b3028c5058db7cf SUSE Linux 9.0: ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/libpng-1.2.5-191.x86_64.rpm 5e8c7dcfe20c386150c4129bb549569f patch rpm(s): ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/libpng-1.2.5-191.x86_64.patch.rpm 4fc9a5a29f5c813b32b9dee230250b17 source rpm(s): ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/libpng-1.2.5-191.src.rpm 526c0048344f1aa467903b1a8bce3506 ______________________________________________________________________________ 5) Pending vulnerabilities in SUSE Distributions and Workarounds: - mod_ssl A remotely exploitable format string bug has been found in the logging function of mod_ssl. New packages are available at our FTP servers. - lha A source code review of lha was conducted by the SuSE Security-Team to fix all possible buffer overflows. New packages are available at our FTP servers. - gfxboot/bootsplash-theme-SuSE/bootsplash-theme-SuSE-Home A bug in gfxboot on SUSE LINUX 9.1 caused the lilo boot password to be shown in cleartext while typing. The standard boot loader is grub. New packages are available at our FTP servers. - liby2util File names of patch files are no longer passed to gpg via the system() call. Since those file names are not protected by a digital signature, an attacker could previously manage to implant shell code. New packages are available at our FTP servers. - pure-ftpd This update fixes a possible DoS attack because of a bug in the accept_client function handling the setup of new connections. New packages are available at our FTP servers. - neon This update adds a missing filter for control characters. New packages are available at our FTP servers. - pavuk This update fixes several buffer overflows in pavuk's digest authentication support. Thanks to Matthew Murphy for reporting this issue to us. New packages are available at our FTP servers. - sox Several buffer overflows in the 'sox' and 'play' have been fixed that can be exploited by playing specially crafted .wav files. (CAN-2004-0557) New packages are available at our FTP servers. - gaim The SuSE Security Team discovers various remotely exploitable buffer overflows in the MSN-protocol parsing functions of gaim. The only affected product is SUSE LINUX 9.1. New packages will be available soon. (CAN-2004-0500) - kernel Paul Starzetz from iSEC informed us about a race condition in the 64bit file offset handling code of the kernel. New kernels for SUSE LINUX Enterprise Server 9 are available from the maintenance-web. The updates for the SUSE LINUX 9.1 kernels are available from our FTP servers. Kernel update packages for older SUSE LINUX distributions will be available in the next few days and will be announced with a dedicated advisory. ______________________________________________________________________________ 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 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 un-installed 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. Type Bits/KeyID Date User ID pub 2048R/3D25D3D9 1999-03-06 SuSE Security Team pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key ====================================================================== ========================================================= Les serveurs de référence du CERT-Renater http://www.urec.fr/securite http://www.cru.fr/securite http://www.renater.fr ========================================================= + CERT-RENATER | tel : 01-53-94-20-44 + + 151 bd de l'Hopital | fax : 01-53-94-20-41 + + 75013 Paris | email: certsvp@renater.fr + =========================================================