-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                  ESB-2006.0036 -- [UNIX/Linux][FreeBSD]
                       Multiple vulnerabilities cpio
                              12 January 2006

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           cpio
Publisher:         FreeBSD
Operating System:  FreeBSD
                   UNIX variants (UNIX, Linux, OSX)
Impact:            Execute Arbitrary Code/Commands (64-bit platforms only)
                   Overwrite Arbitrary Files
                   Inappropriate Access
Access:            Remote/Unauthenticated
CVE Names:         CVE-2005-4268 CVE-2005-1229 CVE-2005-1111

Ref:               ESB-2005.0468

Original Bulletin: 
  ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:03.cpio.asc

- --------------------------BEGIN INCLUDED TEXT--------------------

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
FreeBSD-SA-06:03.cpio                                       Security Advisory
                                                          The FreeBSD Project

Topic:          Multiple vulnerabilities cpio

Category:       contrib
Module:         contrib_cpio
Announced:      2006-01-11
Credits:        Imran Ghory, Richard Harms
Affects:        All FreeBSD releases.
Corrected:      2006-01-11 08:02:16 UTC (RELENG_6, 6.0-STABLE)
                2006-01-11 08:03:18 UTC (RELENG_6_0, 6.0-RELEASE-p2)
                2006-01-11 08:03:55 UTC (RELENG_5, 5.4-STABLE)
                2006-01-11 08:04:33 UTC (RELENG_5_4, 5.4-RELEASE-p9)
                2006-01-11 08:05:54 UTC (RELENG_5_3, 5.3-RELEASE-p24)
                2006-01-11 08:06:47 UTC (RELENG_4, 4.11-STABLE)
                2006-01-11 08:07:18 UTC (RELENG_4_11, 4.11-RELEASE-p14)
                2006-01-11 08:08:08 UTC (RELENG_4_10, 4.10-RELEASE-p20)
CVE Name:       CVE-2005-1111, CVE-2005-1229, CVE-2005-4268

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
<URL:http://www.freebsd.org/security/>.

I.   Background

The cpio utility copies files into or out of a cpio or tar archive.

II.  Problem Description

A number of issues has been discovered in cpio:

  . When creating a new file, cpio closes the file before setting its
    permissions. (CVE-2005-1111)

  . When extracting files cpio does not properly sanitize file names
    to filter out ".." components, even if the --no-absolute-filenames
    option is used. (CVE-2005-1229)

  . When adding large files (larger than 4 GB) to a cpio archive on
    64-bit platforms an internal buffer might overflow. (CVE-2005-4268)

III. Impact

  . The first problem can allow a local attacker to change the
    permissions of files owned by the user executing cpio providing
    that they have write access to the directory in which the file is
    being extracted. (CVE-2005-1111)

  . The lack of proper file name sanitation can allow an attacker to
    overwrite arbitrary local files when extracting files from a cpio
    a archive. (CVE-2005-1229)

  . The buffer-overflow on 64-bit platforms could lead cpio to a
    Denial-of-Service situation (crash) or possibly execute arbitrary
    code with the permissions of the user running
    cpio. (CVE-2005-4268)

IV.  Workaround

Use a different utility to create and extract cpio archives, for
example pax(1) or (on FreeBSD 5.3 or later) tar(1).  If this is not
possible, do not extract untrusted archives and when running on 64-bit
platforms do not add untrusted files to cpio archives.

V.   Solution

NOTE WELL: The solution described below causes cpio to not exact files
with absolute paths by default anymore.  If it is required that cpio
exact files with absolute names, use the --absolute-filenames
parameter.

Perform one of the following:

1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE,
or to the RELENG_6_0, RELENG_5_4, RELENG_5_3, RELENG_4_11, or
RELENG_4_10 security branch dated after the correction date.

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 4.10,
4.11, 5.3, 5.4, and 6.0 systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:03/cpio.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:03/cpio.patch.asc

b) Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/cpio
# 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
  contrib/cpio/copyin.c                                           1.6.6.2
  contrib/cpio/copyout.c                                          1.2.8.1
  contrib/cpio/cpio.1                                             1.3.6.1
  contrib/cpio/extern.h                                           1.2.8.1
  contrib/cpio/global.c                                       1.1.1.1.8.1
  contrib/cpio/main.c                                             1.3.2.1
RELENG_4_11
  src/UPDATING                                             1.73.2.91.2.15
  src/sys/conf/newvers.sh                                  1.44.2.39.2.18
  contrib/cpio/copyin.c                                      1.6.6.1.12.1
  contrib/cpio/copyout.c                                         1.2.36.1
  contrib/cpio/cpio.1                                            1.3.34.1
  contrib/cpio/extern.h                                          1.2.36.1
  contrib/cpio/global.c                                      1.1.1.1.36.1
  contrib/cpio/main.c                                            1.3.30.1
RELENG_4_10
  src/UPDATING                                             1.73.2.90.2.21
  src/sys/conf/newvers.sh                                  1.44.2.34.2.22
  contrib/cpio/copyin.c                                      1.6.6.1.10.1
  contrib/cpio/copyout.c                                         1.2.30.1
  contrib/cpio/cpio.1                                            1.3.28.1
  contrib/cpio/extern.h                                          1.2.30.1
  contrib/cpio/global.c                                      1.1.1.1.30.1
  contrib/cpio/main.c                                            1.3.24.1
RELENG_5
  contrib/cpio/copyin.c                                           1.7.8.1
  contrib/cpio/copyout.c                                         1.2.32.1
  contrib/cpio/cpio.1                                            1.3.30.1
  contrib/cpio/extern.h                                          1.2.32.1
  contrib/cpio/global.c                                      1.1.1.1.32.1
  contrib/cpio/main.c                                            1.3.26.1
RELENG_5_4
  src/UPDATING                                            1.342.2.24.2.18
  src/sys/conf/newvers.sh                                  1.62.2.18.2.14
  contrib/cpio/copyin.c                                          1.7.12.1
  contrib/cpio/copyout.c                                         1.2.38.1
  contrib/cpio/cpio.1                                            1.3.36.1
  contrib/cpio/extern.h                                          1.2.38.1
  contrib/cpio/global.c                                      1.1.1.1.38.1
  contrib/cpio/main.c                                            1.3.32.1
RELENG_5_3
  src/UPDATING                                            1.342.2.13.2.27
  src/sys/conf/newvers.sh                                  1.62.2.15.2.29
  contrib/cpio/copyin.c                                          1.7.10.1
  contrib/cpio/copyout.c                                         1.2.34.1
  contrib/cpio/cpio.1                                            1.3.32.1
  contrib/cpio/extern.h                                          1.2.34.1
  contrib/cpio/global.c                                      1.1.1.1.34.1
  contrib/cpio/main.c                                            1.3.28.1
RELENG_6
  contrib/cpio/copyin.c                                          1.7.14.1
  contrib/cpio/copyout.c                                         1.2.40.1
  contrib/cpio/cpio.1                                            1.3.38.1
  contrib/cpio/extern.h                                          1.2.40.1
  contrib/cpio/global.c                                      1.1.1.1.40.1
  contrib/cpio/main.c                                            1.3.34.1
RELENG_6_0
  src/UPDATING                                              1.416.2.3.2.7
  src/sys/conf/newvers.sh                                    1.69.2.8.2.3
  contrib/cpio/copyin.c                                          1.7.16.1
  contrib/cpio/copyout.c                                         1.2.42.1
  contrib/cpio/cpio.1                                            1.3.40.1
  contrib/cpio/extern.h                                          1.2.42.1
  contrib/cpio/global.c                                      1.1.1.1.42.1
  contrib/cpio/main.c                                            1.3.36.1
- - -------------------------------------------------------------------------

VII. References

[CVE-2005-1111]
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1111
http://marc.theaimsgroup.com/?l=bugtraq&m=111342664116120
https://savannah.gnu.org/patch/?func=detailitem&item_id=4006
https://savannah.gnu.org/patch/?func=detailitem&item_id=4007

[CVE-2005-1229]
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1229
http://marc.theaimsgroup.com/?l=bugtraq&m=111403177526312
https://savannah.gnu.org/patch/?func=detailitem&item_id=4005

[CVE-2005-4268]
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-4268
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172669

The latest revision of this advisory is available at
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:03.cpio.asc
- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFDxL4mFdaIBMps37IRAqQnAJ9Js/Joq8LJJT1kX6DXStgJMliqJQCfdZCx
bxuCX+ps+C0MR5UcLOExHvM=
=7laG
- -----END PGP SIGNATURE-----

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        http://www.auscert.org.au/render.html?cid=1980

If you believe that your computer system has been compromised or attacked in 
any way, we encourage you to let us know by completing the secure National IT 
Incident Reporting Form at:

        http://www.auscert.org.au/render.html?it=3192

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================

-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQCVAwUBQ8W11yh9+71yA2DNAQLFTwQAnIQ3f5MVzpmVTaktyy9dYoBwHwZ8Pe3H
bZoG05SjgDDuJqbkQq2fiEpCb/wTD07B+6v9UCrkYVLUIM1L4ntUL8WzB9Fe4TqC
XRZfy4am7QgGjWrqi5/hg/aNm/kFfjGj6bl3DJXrHg7CWrPAPwrBhI+7wsVQjv6R
tHnx44PHnWQ=
=mA95
-----END PGP SIGNATURE-----