FreeBSD Security Advisory FreeBSD-SA-06:26.gtar
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-06:26.gtar Security Advisory
The FreeBSD Project
Topic: gtar name mangling symlink vulnerability
Category: contrib
Module: contrib_tar
Announced: 2006-12-06
Credits: Teemu Salmela
Affects: FreeBSD 4.x and 5.x releases
Corrected: 2006-12-06 09:16:17 UTC (RELENG_5, 5.5-STABLE)
2006-12-06 09:16:41 UTC (RELENG_5_5, 5.5-RELEASE-p9)
2006-12-06 09:17:09 UTC (RELENG_4, 4.11-STABLE)
2006-12-06 09:18:02 UTC (RELENG_4_11, 4.11-RELEASE-p26)
CVE Name: CVE-2006-6097
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
GNU tar (gtar) is a utility to create and extract "tape archives",
commonly known as tar files. GNU tar is included in FreeBSD 4.x as
/usr/bin/tar, and in FreeBSD 5.x as /usr/bin/gtar.
II. Problem Description
Symlinks created using the "GNUTYPE_NAMES" tar extension can be
absolute due to lack of proper sanity checks.
III. Impact
If an attacker can get a user to extract a specially crafted tar
archive the attacker can overwrite arbitrary files with the
permissions of the user running gtar. If file system permissions
allow it, this may allow the attacker to overwrite important system
file (if gtar is being run as root), or important user configuration
files such as .tcshrc or .bashrc, which would allow the attacker to
run arbitrary commands.
IV. Workaround
Use "bsdtar", which is the default tar implementation in FreeBSD 5.3
and higher. For FreeBSD 4.x, bsdtar is available in the FreeBSD Ports
Collection as ports/archivers/libarchive.
V. Solution
NOTE: The solution described below causes GNU tar to exit with an error
when handling an archive with GNUTYPE_NAMES entries. The FreeBSD
Security Team does not consider this to be a significant regression,
since GNUTYPE_NAMES has not been used for many years and is not
supported by other archival software such as libarchive(3); but the
original (insecure) behaviour can be retained by running GNU tar with
the newly added --allow-name-mangling option.
Perform one of the following:
1) Upgrade your vulnerable system to 4-STABLE, or 5-STABLE, or to the
RELENG_5_5 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 and
5.5 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:26/gtar.patch
# fetch http://security.FreeBSD.org/patches/SA-06:26/gtar.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/tar
# 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/contrib/tar/src/common.h 1.2.2.2
src/contrib/tar/src/extract.c 1.4.2.4
src/contrib/tar/src/tar.c 1.2.2.3
RELENG_4_11
src/UPDATING 1.73.2.91.2.27
src/sys/conf/newvers.sh 1.44.2.39.2.30
src/contrib/tar/src/common.h 1.2.2.1.10.1
src/contrib/tar/src/extract.c 1.4.2.3.8.1
src/contrib/tar/src/tar.c 1.2.2.2.6.1
RELENG_5
src/contrib/tar/src/common.h 1.2.10.1
src/contrib/tar/src/extract.c 1.6.8.1
src/contrib/tar/src/tar.c 1.3.4.1
RELENG_5_5
src/UPDATING 1.342.2.35.2.9
src/sys/conf/newvers.sh 1.62.2.21.2.11
src/contrib/tar/src/common.h 1.2.22.1
src/contrib/tar/src/extract.c 1.6.20.1
src/contrib/tar/src/tar.c 1.3.16.1
- -------------------------------------------------------------------------
VII. References
http://marc.theaimsgroup.com/?l=full-disclosure&m=116414883029517
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6097
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:26.gtar.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFFdo1YFdaIBMps37IRAsqUAKCFRV7yICNP8NyC/3+uHUTOKDrxWQCeIJ5a
HsY0N8aR6FoEiFYV/y5fO4k=
=0/ws
-----END PGP SIGNATURE-----