patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
129 lines
5.1 KiB
Text
129 lines
5.1 KiB
Text
-----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-----
|