FreeBSD Security Advisory - Insufficient sanity checking of paths containing '.' and '..' allows gtar to overwrite arbitrary files on the system.
dcc19ef1a758f3087be980a876f9e362719306f374c5862dbc64840fe61c16ac
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-07:10.gtar Security Advisory
The FreeBSD Project
Topic: gtar directory traversal vulnerability
Category: contrib
Module: contrib_tar
Announced: 2007-11-29
Credits: Dmitry V. Levinx
Affects: FreeBSD 5.x releases
Corrected: 2007-11-29 16:08:54 UTC (RELENG_5, 5.5-STABLE)
2007-11-29 16:09:26 UTC (RELENG_5_5, 5.5-RELEASE-p17)
CVE Name: CVE-2007-4131
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 5.x as
/usr/bin/gtar.
II. Problem Description
Insufficient sanity checking of paths containing '.' and '..' allows
gtar to overwrite arbitrary files on the system.
III. Impact
An attacker who can convince an user to extract a specially crafted
archive can overwrite arbitrary files with the permissions of the user
running gtar. If that user is root, the attacker can overwrite any
file on the system.
IV. Workaround
Use "bsdtar", which has been the default tar implementation since
FreeBSD 5.3.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 5-STABLE, or to the RELENG_5_5
security branch dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 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-07:10/gtar.patch
# fetch http://security.FreeBSD.org/patches/SA-07:10/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_5
src/contrib/tar/src/misc.c 1.3.8.1
RELENG_5_5
src/UPDATING 1.342.2.35.2.17
src/sys/conf/newvers.sh 1.62.2.21.2.19
src/contrib/tar/src/misc.c 1.3.20.1
- -------------------------------------------------------------------------
VII. References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4131
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-07:10.gtar.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)
iD8DBQFHTue3FdaIBMps37IRAgzFAKCMswqo5lH2+bb0yGRN+qhPqfBYlACfQ4+j
Dq8Gbv9wz/AwDyAEZq2+1eQ=
=1e8b
-----END PGP SIGNATURE-----