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-----
_______________________________________________
freebsd-security@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security
To unsubscribe, send any mail to "freebsd-security-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: philosophical question...
    ... >>But from a security point of view, if an attacker can guess ... > OpenBSD first and ported to FreeBSD once it has proved itself. ... mean that nobody else is allowed to improve security. ...
    (FreeBSD-Security)
  • [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-06:26.gtar
    ... For general information regarding FreeBSD Security Advisories, ... GNU tar is a utility to create and extract "tape archives", ... If an attacker can get a user to extract a specially crafted tar ...
    (freebsd-announce)
  • FreeBSD Security Advisory FreeBSD-SA-06:26.gtar
    ... For general information regarding FreeBSD Security Advisories, ... GNU tar is a utility to create and extract "tape archives", ... If an attacker can get a user to extract a specially crafted tar ...
    (Bugtraq)
  • FreeBSD Security Advisory FreeBSD-SA-07:10.gtar
    ... For general information regarding FreeBSD Security Advisories, ... including descriptions of the fields above, security branches, and the ... GNU tar is a utility to create and extract "tape archives", ... gtar to overwrite arbitrary files on the system. ...
    (FreeBSD-Security)
  • [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-07:10.gtar
    ... For general information regarding FreeBSD Security Advisories, ... including descriptions of the fields above, security branches, and the ... GNU tar is a utility to create and extract "tape archives", ... gtar to overwrite arbitrary files on the system. ...
    (freebsd-announce)