-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ============================================================================= FreeBSD-SA-06:21.gzip Security Advisory The FreeBSD Project Topic: Multiple vulnerabilities in gzip Category: contrib Module: gzip Announced: 2006-09-19 Credits: Tavis Ormandy, Google Security Team Affects: All FreeBSD releases. Corrected: 2006-09-19 14:02:30 UTC (RELENG_6, 6.2-PRERELEASE) 2006-09-19 14:03:26 UTC (RELENG_6_1, 6.1-RELEASE-p7) 2006-09-19 14:04:13 UTC (RELENG_6_0, 6.0-RELEASE-p12) 2006-09-19 14:06:21 UTC (RELENG_5, 5.5-STABLE) 2006-09-19 14:07:13 UTC (RELENG_5_5, 5.5-RELEASE-p5) 2006-09-19 14:08:10 UTC (RELENG_5_4, 5.4-RELEASE-p19) 2006-09-19 14:09:09 UTC (RELENG_5_3, 5.3-RELEASE-p34) 2006-09-19 14:11:35 UTC (RELENG_4, 4.11-STABLE) 2006-09-19 14:13:53 UTC (RELENG_4_11, 4.11-RELEASE-p22) CVE Name: CVE-2006-4334, CVE-2006-4335, CVE-2006-4336, CVE-2006-4337, CVE-2006-4338 For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit <URL:http://security.FreeBSD.org/>. I. Background gzip is a file compression utility. II. Problem Description Multiple programming errors have been found in gzip which can be triggered when gzip is decompressing files. These errors include insufficient bounds checks in buffer use, a NULL pointer dereference, and a potential infinite loop. III. Impact The insufficient bounds checks in buffer use can cause gzip to crash, and may permit the execution of arbitrary code. The NULL pointer deference can cause gzip to crash. The infinite loop can cause a Denial-of-Service situation where gzip uses all available CPU time. IV. Workaround No workaround is available. V. Solution Perform one of the following: 1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE, or to the RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_5_4, RELENG_5_3, or RELENG_4_11 security branch dated after the correction date. 2) To patch your present system: The following patches have been verified to apply to FreeBSD 4.11, 5.3, 5.4, 5.5, 6.0, and 6.1 systems. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. # fetch http://security.FreeBSD.org/patches/SA-06:21/gzip.patch # fetch http://security.FreeBSD.org/patches/SA-06:21/gzip.patch.asc b) Execute the following commands as root: # cd /usr/src # patch < /path/to/patch # cd /usr/src/gnu/usr.bin/gzip # make obj && make depend && make && make install VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Branch Revision Path - ------------------------------------------------------------------------- RELENG_4 src/gnu/usr.bin/gzip/gzip.h 1.3.12.1 src/gnu/usr.bin/gzip/inflate.c 1.8.2.2 src/gnu/usr.bin/gzip/unlzh.c 1.5.2.1 src/gnu/usr.bin/gzip/unpack.c 1.6.2.1 RELENG_4_11 src/UPDATING 1.73.2.91.2.23 src/sys/conf/newvers.sh 1.44.2.39.2.26 src/gnu/usr.bin/gzip/gzip.h 1.3.36.1 src/gnu/usr.bin/gzip/inflate.c 1.8.2.1.2.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.30.1 src/gnu/usr.bin/gzip/unpack.c 1.6.30.1 RELENG_5 src/gnu/usr.bin/gzip/gzip.h 1.4.2.1 src/gnu/usr.bin/gzip/inflate.c 1.9.2.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.26.1 src/gnu/usr.bin/gzip/unpack.c 1.6.26.1 RELENG_5_5 src/UPDATING 1.342.2.35.2.5 src/sys/conf/newvers.sh 1.62.2.21.2.7 src/gnu/usr.bin/gzip/gzip.h 1.4.14.1 src/gnu/usr.bin/gzip/inflate.c 1.9.14.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.40.1 src/gnu/usr.bin/gzip/unpack.c 1.6.40.1 RELENG_5_4 src/UPDATING 1.342.2.24.2.28 src/sys/conf/newvers.sh 1.62.2.18.2.24 src/gnu/usr.bin/gzip/gzip.h 1.4.6.1 src/gnu/usr.bin/gzip/inflate.c 1.9.6.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.32.1 src/gnu/usr.bin/gzip/unpack.c 1.6.32.1 RELENG_5_3 src/UPDATING 1.342.2.13.2.37 src/sys/conf/newvers.sh 1.62.2.15.2.39 src/gnu/usr.bin/gzip/gzip.h 1.4.4.1 src/gnu/usr.bin/gzip/inflate.c 1.9.4.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.28.1 src/gnu/usr.bin/gzip/unpack.c 1.6.28.1 RELENG_6 src/gnu/usr.bin/gzip/gzip.h 1.4.8.1 src/gnu/usr.bin/gzip/inflate.c 1.9.8.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.34.1 src/gnu/usr.bin/gzip/unpack.c 1.6.34.1 RELENG_6_1 src/UPDATING 1.416.2.22.2.9 src/sys/conf/newvers.sh 1.69.2.11.2.9 src/gnu/usr.bin/gzip/gzip.h 1.4.12.1 src/gnu/usr.bin/gzip/inflate.c 1.9.12.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.38.1 src/gnu/usr.bin/gzip/unpack.c 1.6.38.1 RELENG_6_0 src/UPDATING 1.416.2.3.2.17 src/sys/conf/newvers.sh 1.69.2.8.2.13 src/gnu/usr.bin/gzip/gzip.h 1.4.10.1 src/gnu/usr.bin/gzip/inflate.c 1.9.10.1 src/gnu/usr.bin/gzip/unlzh.c 1.5.36.1 src/gnu/usr.bin/gzip/unpack.c 1.6.36.1 - ------------------------------------------------------------------------- VII. References http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4334 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4335 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4336 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4337 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4338 The latest revision of this advisory is available at http://security.FreeBSD.org/advisories/FreeBSD-SA-06:21.gzip.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFD/6bFdaIBMps37IRAgMGAJ9f7rYLs32ZEAKWwhcPqAWrp6fNwACgg2Wj fw3izMEcpupfqNkkQKizV5g= =xYxa -----END PGP SIGNATURE-----