Skip Navigation

  • Home
  • Contact us
  • FAQ
  • Glossary
  • Public key
  • Sitemap
  • Cymraeg
  • What's new
CPNI - Centre for the Protection of National Infastructure

Advanced search

  • About CPNI
  • The threats
  • Security planning
  • Methods of attack
  • Protecting your assets
  • Products and services
    • CSIRTUK advisories
      • Advisories archive
    • General protective security publications
    • InfoSec briefings
    • InfoSec technical notes
    • InfoSec vulnerability disclosures
    • Good practice guidelines
    • Viewpoints
    • Information exchanges
    • Risk Management Delivery Group
  • Research
Home > Products and services > CSIRTUK advisories > Advisories archive > December 2006 > FreeBSD Security Advisory: FreeBSD-SA-06:26.gtar

December 2006

FreeBSD Security Advisory: FreeBSD-SA-06:26.gtar

ID: 00852
Ref: 808/2006
Date: 06 December 2006:14:09:43
Version: 1

Title: FreeBSD Security Advisory: FreeBSD-SA-06:26.gtar
Abstract:
Vendors affected: FreeBSD
Operating systems affected: FreeBSD
Applications affected: FreeBSD

Title
=====

FreeBSD Security Advisory: FreeBSD-SA-06:26.gtar

Detail
======

Symlinks created using the "GNUTYPE_NAMES" tar extension can be absolute due to lack of proper sanity checks.


- -----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 .

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-----
  • Accessibility |
  • Terms and conditions |
  • Privacy statement |
  • Data protection act |
  • Freedom of information |