The zlib compression library provides in-memory compression and decompression functions. It is widely used throughout Linux and other operating systems. While performing tests on the gdk-pixbuf library, Matthias Clasen created an invalid PNG image that caused libpng to crash. Upon further investigation, this turned out to be a bug in zlib 1.1.3. Certain input will cause zlib to free an area of memory twice (also called a "double free"). This bug can be used to crash any program that takes untrusted compressed input. Web browsers or email programs that display image attachments or other programs that uncompress data are particularly affected. This vulnerability makes it easy to perform various denial-of-service attacks against such programs. However, since the result of a double free is the corruption of the malloc implementation's data structures, it is possible that an attacker could manage a more significant exploit, such as running arbitrary code on the affected system.
Most of the packages in Red Hat Linux use the shared zlib library and can be protected against vulnerability by updating to the errata zlib package. However, there have been a number of packages identified in Red Hat Linux that either statically link to zlib or contain an internal version of zlib code. Although no exploits for this issue or the affected packages are currently known to exist, this is a serious vulnerability that could be locally or remotely exploited. All users should upgrade affected packages immediately. Additionally, if you have any programs that you have compiled yourself you should check to see if they use zlib. If they link to the shared zlib library then they will not be vulnerable once the shared zlib library is updated to the errata package. If any programs that decompress arbitrary data either statically link to zlib or use their own version of the zlib code internally, then they need to be patched or recompiled. The following details apply to the Powertools distribution only; for packages included with the main Red Hat Linux distribution please see advisory RHSA-2002:026 abiword: Powertools 6.2 shipped with both statically and dynamically linked versions of AbiWord. The statically linked version is linked against the vulnerable zlib. It is recommended that users only use the dynamic version. acroread: The acroread package in Powertools 7.0 contains Acrobat Reader, a PDF viewer. This package contains an internal version of zlib which may be vulnerable. An update is not yet available, so users are advised to view PDF documents using xpdf or ghostview. amaya: Amaya is a Web browser/authoring tool. Amaya in Powertools 7.1 has been patched to use the system zlib, libjpeg, and libpng libraries instead of the internal static versions. flash: The flash package in Powertools 6.2 and 7.0 contains an unofficial Shockwave(TM) Flash2/Flash3 plug-in for Netscape which uses an internal version of zlib. This plug-in conflicts with the official flash plug-in included in the netscape package and should not be used. freeamp: Freeamp is an MP3 audio player in Powertools 6.2 and 7.0 which uses zlib when decompressing themes. Freeamp has been patched to use the system zlib library instead of the internal version. qt-embedded: Qt is a GUI toolkit for embedded devices. qt-embedded has been updated to version 2.3.2 and recompiled against the errata zlib library. vnc: VNC is a remote display system in Powertools 6.2. VNC has been patched to use the system zlib library. In addition, there is a small HTTP server implementation in the VNC server which can be made to wait indefinitely for input, thereby freezing an active VNC session. The VNC packages recommended by this advisory have been patched to fix this issue, as well. Users of VNC should be aware the program is designed for use on a trusted network.