LinuxSecurity.com
Share your story
The central voice for Linux and Open Source security news
Home News Topics Advisories HOWTOs Features Newsletters About Register

Welcome!
Sign up!
EnGarde Community
Login
Polls
What is the most important Linux security technology?
 
Advisories
Community
Linux Events
Linux User Groups
Link to Us
Security Center
Book Reviews
Security Dictionary
Security Tips
SELinux
White Papers
Featured Blogs
All About Linux
DanWalsh LiveJournal
Securitydistro
Latest Newsletters
Linux Advisory Watch: September 26th, 2014
Linux Security Week: September 22nd, 2014
Subscribe
LinuxSecurity Newsletters
E-mail:
Choose Lists:
About our Newsletters
RSS Feeds
Get the LinuxSecurity news you want faster with RSS
Powered By

  
FreeBSD: 'bzip2' Multiple vulnerabilities Print E-mail
User Rating:      How can I rate this item?
Posted by LinuxSecurity.com Team   
FreeBSD When creating a file during decompression, the bzip2 utility failedto use the O_EXCL flag, potentially overwriting files without warning.In addition, the bzip2 utility did not securely create new filescausing a race condition.

=============================================================================
FreeBSD-SA-02:25                                            Security Advisory
                                                          The FreeBSD Project

Topic:          bzip2 contains multiple security vulnerabilities

Category:       core/ports
Module:         bzip2
Announced:      2002-05-20
Credits:        Volker Schmidt, Philippe Troin
Affects:        FreeBSD 4.4-RELEASE, FreeBSD 4.5-RELEASE,
                FreeBSD 4.5-STABLE prior to the correction date.
                bzip2 port prior to bzip2-1.0.2
Corrected:      2002-02-18 09:12:53 UTC (4.5-STABLE, RELENG_4)
                2002-02-23 18:28:09 UTC (4.5-RELEASE-p1, RELENG_4_5)
                2002-02-23 18:33:18 UTC (4.4-RELEASE-p8, RELENG_4_4)
                2002-02-22 13:21:22 UTC (bzip2 port)
FreeBSD only:   NO

I.   Background

bzip2 is an advanced block-sorting file compression utility.

II.  Problem Description

When creating a file during decompression, the bzip2 utility failed
to use the O_EXCL flag, potentially overwriting files without warning.
In addition, the bzip2 utility did not securely create new files
causing a race condition between creating the file and setting the
correct permissions.

When compressing a file pointed to by a symbolic link, the bzip2
utility incorrectly stored the permissions of the symbolic link
instead of the file.  This may result in potentially lax file
permissions (rwxr-xr-x), causing the decompressed file to be
world-readable.

bzip2 was incorporated into FreeBSD prior to FreeBSD 4.4-RELEASE.
Previous versions of FreeBSD did not contain bzip2 and are unaffected
unless bzip2 was installed from the ports collection or manually by
the system administrator.

III. Impact

1) Files may be inadvertently overwritten without warning.

2) Due to the race condition between creating files and setting proper
permissions, a local user may be able to read the contents of files
regardless of their intended permissions.

3) Decompressed files that were originally pointed to by a symbolic
link may end up with in incorrect permissions, allowing local users
to view their contents.

IV.  Workaround

1) Deinstall the bzip2 port/package if you have it installed.

V.   Solution

[FreeBSD 4.4 or 4.5 base system]

1) Upgrade your vulnerable system to 4.5-STABLE or the RELENG_4_4 or
RELENG_4_5 security branch dated after the respective correction dates.

2) To patch your present system, download the relevant patch from the
below location, and execute the following commands as root:

# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:25/bzip2.patch
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:25/bzip2.patch.asc

Verify the detached PGP signature using your PGP utility.

This patch has been verified to apply to FreeBSD 4.4-RELEASE and
4.5-RELEASE.

# cd /usr/src
# patch -p < /path/to/patch
# cd lib/libbz2
# make depend && make all install
# cd ../../usr.bin/bzip2
# make depend && make all install

3) FreeBSD 4.4-RELEASE and 4.5-RELEASE systems:

An experimental upgrade package is available for users who wish to
provide testing and feedback on the binary upgrade process.  This
package may be installed on FreeBSD 4.4-RELEASE and 4.5-RELEASE
systems only, and is intended for use on systems for which source
patching is not practical or convenient.

If you use the upgrade package, feedback (positive or negative) to
security-officer@FreeBSD.org is requested so we can improve the
process for future advisories.

During the installation procedure, backup copies are made of the files
which are replaced by the package.  These backup copies will be
reinstalled if the package is removed, reverting the system to a
pre-patched state.

# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/packages/SA-02.25/security-patch-bzip2-02.25.tgz
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/packages/SA-02.25/security-patch-bzip2-02.25.tgz.asc

Verify the detached PGP signature using your PGP utility.

# pkg_add security-patch-bzip2-02.25.tgz

[ports]

1) Upgrade your entire ports collection and rebuild the bzip2 port.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from the following directories:

[i386] 
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/archivers/ 
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/archivers/

[alpha]
Packages are not automatically generated for the alpha architecture at
this time due to lack of build resources.

NOTE: It may be several days before updated packages are available. Be
sure to check the file creation date on the package, because the
version number of the software has not changed.

3) Download a new port skeleton for the bzip2 port from:
 
http://www.freebsd.org/ports/

and use it to rebuild the port.

4) Use the portcheckout utility to automate option (3) above. The
portcheckout port is available in /usr/ports/devel/portcheckout or the
package can be obtained from:
 
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/Latest/portcheckout.tgz 
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/Latest/portcheckout.tgz

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

[Ports collection]

Path                                                             Revision
-------------------------------------------------------------------------
ports/archivers/bzip2/Makefile                                       1.36
ports/archivers/bzip2/distinfo                                       1.10
ports/archivers/bzip2/pkg-descr                                       1.5
ports/archivers/bzip2/pkg-plist                                      1.14
-------------------------------------------------------------------------

[Base system]

Branch
  Path                                                           Revision
-------------------------------------------------------------------------
RELENG_4
  src/contrib/bzip2/CHANGES                                   1.1.1.1.2.2
  src/contrib/bzip2/FREEBSD-upgrade                               1.1.2.1
  src/contrib/bzip2/LICENSE                                   1.1.1.1.2.2
  src/contrib/bzip2/Makefile                                  1.1.1.1.2.2
  src/contrib/bzip2/Makefile-libbz2_so                        1.1.1.1.2.2
  src/contrib/bzip2/README                                    1.1.1.1.2.2
  src/contrib/bzip2/README.COMPILATION.PROBLEMS               1.1.1.1.2.2
  src/contrib/bzip2/Y2K_INFO                                  1.1.1.1.2.1
  src/contrib/bzip2/blocksort.c                               1.1.1.1.2.2
  src/contrib/bzip2/bzip2.1                                   1.1.1.1.2.2
  src/contrib/bzip2/bzip2.c                                   1.1.1.1.2.2
  src/contrib/bzip2/bzip2recover.c                            1.1.1.1.2.2
  src/contrib/bzip2/bzlib.c                                   1.1.1.1.2.2
  src/contrib/bzip2/bzlib.h                                   1.1.1.1.2.2
  src/contrib/bzip2/bzlib_private.h                           1.1.1.1.2.2
  src/contrib/bzip2/compress.c                                1.1.1.1.2.2
  src/contrib/bzip2/crctable.c                                1.1.1.1.2.2
  src/contrib/bzip2/decompress.c                              1.1.1.1.2.2
  src/contrib/bzip2/dlltest.c                                 1.1.1.1.2.2
  src/contrib/bzip2/huffman.c                                 1.1.1.1.2.2
  src/contrib/bzip2/libbz2.def                                1.1.1.1.2.1
  src/contrib/bzip2/makefile.msc                              1.1.1.1.2.2
  src/contrib/bzip2/manual.texi                               1.1.1.1.2.2
  src/contrib/bzip2/randtable.c                               1.1.1.1.2.2
  src/contrib/bzip2/sample1.bz2.uu                            1.1.1.1.2.2
  src/contrib/bzip2/sample1.ref.gz.uu                         1.1.1.1.2.2
  src/contrib/bzip2/sample2.bz2.uu                            1.1.1.1.2.2
  src/contrib/bzip2/sample2.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/sample3.bz2.uu                            1.1.1.1.2.2
  src/contrib/bzip2/sample3.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/spewG.c                                   1.1.1.1.2.1
  src/contrib/bzip2/unzcrash.c                                1.1.1.1.2.1
  src/contrib/bzip2/words0                                    1.1.1.1.2.1
  src/contrib/bzip2/words1                                    1.1.1.1.2.1
  src/contrib/bzip2/words2                                    1.1.1.1.2.1
  src/contrib/bzip2/words3                                    1.1.1.1.2.2
RELENG_4_5
  src/sys/conf/newvers.sh                                   1.44.2.20.2.2
  src/contrib/bzip2/CHANGES                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/FREEBSD-upgrade                               1.1.4.1
  src/contrib/bzip2/LICENSE                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/Makefile                              1.1.1.1.2.1.4.1
  src/contrib/bzip2/Makefile-libbz2_so                    1.1.1.1.2.1.4.1
  src/contrib/bzip2/README                                1.1.1.1.2.1.4.1
  src/contrib/bzip2/README.COMPILATION.PROBLEMS           1.1.1.1.2.1.4.1
  src/contrib/bzip2/Y2K_INFO                                  1.1.1.1.2.1
  src/contrib/bzip2/blocksort.c                           1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzip2.1                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzip2.c                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzip2recover.c                        1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzlib.c                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzlib.h                               1.1.1.1.2.1.4.1
  src/contrib/bzip2/bzlib_private.h                       1.1.1.1.2.1.4.1
  src/contrib/bzip2/compress.c                            1.1.1.1.2.1.4.1
  src/contrib/bzip2/crctable.c                            1.1.1.1.2.1.4.1
  src/contrib/bzip2/decompress.c                          1.1.1.1.2.1.4.1
  src/contrib/bzip2/dlltest.c                             1.1.1.1.2.1.4.1
  src/contrib/bzip2/huffman.c                             1.1.1.1.2.1.4.1
  src/contrib/bzip2/libbz2.def                                1.1.1.1.2.1
  src/contrib/bzip2/makefile.msc                          1.1.1.1.2.1.4.1
  src/contrib/bzip2/manual.texi                           1.1.1.1.2.1.4.1
  src/contrib/bzip2/randtable.c                           1.1.1.1.2.1.4.1
  src/contrib/bzip2/sample1.bz2.uu                        1.1.1.1.2.1.4.1
  src/contrib/bzip2/sample1.ref.gz.uu                     1.1.1.1.2.1.4.1
  src/contrib/bzip2/sample2.bz2.uu                        1.1.1.1.2.1.4.1
  src/contrib/bzip2/sample2.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/sample3.bz2.uu                        1.1.1.1.2.1.4.1
  src/contrib/bzip2/sample3.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/spewG.c                                   1.1.1.1.2.1
  src/contrib/bzip2/unzcrash.c                                1.1.1.1.2.1
  src/contrib/bzip2/words0                                    1.1.1.1.2.1
  src/contrib/bzip2/words1                                    1.1.1.1.2.1
  src/contrib/bzip2/words2                                    1.1.1.1.2.1
  src/contrib/bzip2/words3                                1.1.1.1.2.1.4.1
RELENG_4_4
  src/sys/conf/newvers.sh                                   1.44.2.17.2.7
  src/contrib/bzip2/CHANGES                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/FREEBSD-upgrade                               1.1.6.1
  src/contrib/bzip2/LICENSE                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/Makefile                              1.1.1.1.2.1.2.1
  src/contrib/bzip2/Makefile-libbz2_so                    1.1.1.1.2.1.2.1
  src/contrib/bzip2/README                                1.1.1.1.2.1.2.1
  src/contrib/bzip2/README.COMPILATION.PROBLEMS           1.1.1.1.2.1.2.1
  src/contrib/bzip2/Y2K_INFO                                  1.1.1.1.2.1
  src/contrib/bzip2/blocksort.c                           1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzip2.1                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzip2.c                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzip2recover.c                        1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzlib.c                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzlib.h                               1.1.1.1.2.1.2.1
  src/contrib/bzip2/bzlib_private.h                       1.1.1.1.2.1.2.1
  src/contrib/bzip2/compress.c                            1.1.1.1.2.1.2.1
  src/contrib/bzip2/crctable.c                            1.1.1.1.2.1.2.1
  src/contrib/bzip2/decompress.c                          1.1.1.1.2.1.2.1
  src/contrib/bzip2/dlltest.c                             1.1.1.1.2.1.2.1
  src/contrib/bzip2/huffman.c                             1.1.1.1.2.1.2.1
  src/contrib/bzip2/libbz2.def                                1.1.1.1.2.1
  src/contrib/bzip2/makefile.msc                          1.1.1.1.2.1.2.1
  src/contrib/bzip2/manual.texi                           1.1.1.1.2.1.2.1
  src/contrib/bzip2/randtable.c                           1.1.1.1.2.1.2.1
  src/contrib/bzip2/sample1.bz2.uu                        1.1.1.1.2.1.2.1
  src/contrib/bzip2/sample1.ref.gz.uu                     1.1.1.1.2.1.2.1
  src/contrib/bzip2/sample2.bz2.uu                        1.1.1.1.2.1.2.1
  src/contrib/bzip2/sample2.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/sample3.bz2.uu                        1.1.1.1.2.1.2.1
  src/contrib/bzip2/sample3.ref.gz.uu                         1.1.1.1.2.1
  src/contrib/bzip2/spewG.c                                   1.1.1.1.2.1
  src/contrib/bzip2/unzcrash.c                                1.1.1.1.2.1
  src/contrib/bzip2/words0                                    1.1.1.1.2.1
  src/contrib/bzip2/words1                                    1.1.1.1.2.1
  src/contrib/bzip2/words2                                    1.1.1.1.2.1
  src/contrib/bzip2/words3                                1.1.1.1.2.1.2.1
-------------------------------------------------------------------------

All files in src/contrib/bzip2 have identical revision numbers on
their respective branches but do not contain the revision number in
the source code.

VII. References

ftp://sources.Red Hat.com/pub/bzip2/docs/CHANGES>




 
< Prev   Next >
    
Partner

 

Latest Features
Peter Smith Releases Linux Network Security Online
Securing a Linux Web Server
Password guessing with Medusa 2.0
Password guessing as an attack vector
Squid and Digest Authentication
Squid and Basic Authentication
Demystifying the Chinese Hacking Industry: Earning 6 Million a Night
Free Online security course (LearnSIA) - A Call for Help
What You Need to Know About Linux Rootkits
Review: A Practical Guide to Fedora and Red Hat Enterprise Linux - Fifth Edition
Yesterday's Edition
Partner Sponsor

Community | HOWTOs | Blogs | Features | Book Reviews | Networking
 Security Projects |  Latest News |  Newsletters |  SELinux |  Privacy |  Home
 Hardening |   About Us |   Advertise |   Legal Notice |   RSS |   Guardian Digital
(c)Copyright 2014 Guardian Digital, Inc. All rights reserved.