Description:
If one chooses to use the built-in zlib with MySQL 4.1.10, the version used is zlib
1.2.1. This version of zlib is known to contain a security hole. It is mentioned on the
zlib home page:
http://www.gzip.org/zlib/
with a pointer to the US CERT Vulnerability Note VU#238678:
http://www.kb.cert.org/vuls/id/238678
"Vulnerability Note VU#238678
The zlib compression library is vulnerable to a denial-of-service condition
Overview
Un-handled error conditions in the zlib compression library may allow an attacker to
cause a denial-of-service condition.
I. Description
There is a vulnerability in the error handling mechanisms of the decompression functions
in the zlib compression library. The decompression functions inflate() and inflateBack()
fail to handle certain error conditions properly. If an un-handled error condition is
raised, the application linked to zlib may abruptly and abnormally terminate. This
vulnerability may be exploited locally or remotely depending on the application being
attacked.
This issue exists in zlib versions 1.2.0.x and 1.2.x, other versions are not vulnerable.
II. Impact
A malicious user may be able to intentionally raise an un-handled error condition by
supplying the vulnerable functions with specially crafted compressed data. As a result,
applications linked to the zlib library may abruptly and abnormally terminate resulting
in a denial-of-service condition.
III. Solution
Check with Vendor
Users who suspect they are vulnerable are encouraged to check with their vendor to
determine the appropriate action to take. Please see the list of vendors we have notified
below.
Upgrade zlib
zlib 1.2.2 remedies this vulnerability. It is available at: http://www.zlib.net"
How to repeat:
Look at zlib/zlib.h:
solaris7 [.../MySQL/mysql-4.1.10/zlib] # grep "#define ZLIB_VERSION" zlib.h
#define ZLIB_VERSION "1.2.1"
Suggested fix:
Upgrade the version of the included zlib to zlib 1.2.2, as per the zlib site's
suggestion.