3571e53040
patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
162 lines
7 KiB
Text
162 lines
7 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-09:17.freebsd-update Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Inappropriate directory permissions in freebsd-update(8)
|
|
|
|
Category: core
|
|
Module: usr.sbin
|
|
Announced: 2009-12-03
|
|
Credits: KAMADA Ken'ichi
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2009-12-03 09:18:40 UTC (RELENG_8, 8.0-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_8_0, 8.0-RELEASE-p1)
|
|
2009-12-03 09:18:40 UTC (RELENG_7, 7.2-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_7_2, 7.2-RELEASE-p5)
|
|
2009-12-03 09:18:40 UTC (RELENG_7_1, 7.1-RELEASE-p9)
|
|
2009-12-03 09:18:40 UTC (RELENG_6, 6.4-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_6_4, 6.4-RELEASE-p8)
|
|
2009-12-03 09:18:40 UTC (RELENG_6_3, 6.3-RELEASE-p14)
|
|
|
|
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
|
|
|
|
The freebsd-update(8) utility is used to fetch, install, and rollback
|
|
updates to the FreeBSD base system, and also to upgrade from one FreeBSD
|
|
release to another.
|
|
|
|
II. Problem Description
|
|
|
|
When downloading updates to FreeBSD via 'freebsd-update fetch' or
|
|
'freebsd-update upgrade', the freebsd-update(8) utility copies currently
|
|
installed files into its working directory (/var/db/freebsd-update by
|
|
default) both for the purpose of merging changes to configuration files
|
|
and in order to be able to roll back installed updates.
|
|
|
|
The default working directory used by freebsd-update(8) is normally
|
|
created during the installation of FreeBSD with permissions which allow
|
|
all local users to see its contents, and freebsd-update(8) does not take
|
|
any steps to restrict access to files stored in said directory.
|
|
|
|
III. Impact
|
|
|
|
A local user can read files which have been updated by freebsd-update(8),
|
|
even if those files have permissions which would normally not allow users
|
|
to read them. In particular, on systems which have been upgraded using
|
|
'freebsd-update upgrade', local users can read freebsd-update's backed-up
|
|
copy of the master password file.
|
|
|
|
IV. Workaround
|
|
|
|
Set the permissions on the freebsd-update(8) working directory to not
|
|
allow unprivileged users to read said directory:
|
|
|
|
# chmod 0700 /var/db/freebsd-update
|
|
|
|
Note that if freebsd-update(8) is run using the '-d workdir' option, the
|
|
directory which should have its permissions adjusted will be different.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 6-STABLE, 7-STABLE or 8-STABLE,
|
|
or to the RELENG_8_0, RELENG_7_2, RELENG_7_1, RELENG_6_4, or
|
|
RELENG_6_3 security branch dated after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patch has been verified to apply to FreeBSD 6.3, 6.4,
|
|
7.1, 7.2, and 8.0 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-09:17/freebsd-update.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:17/freebsd-update.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/usr.sbin/freebsd-update
|
|
# make obj && make depend && make && make install
|
|
# chmod 0700 /var/db/freebsd-update
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the revision numbers of each file that was
|
|
corrected in FreeBSD.
|
|
|
|
CVS:
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_6
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.2.2.11
|
|
src/etc/mtree/BSD.var.dist 1.71.2.4
|
|
RELENG_6_4
|
|
src/UPDATING 1.416.2.40.2.12
|
|
src/sys/conf/newvers.sh 1.69.2.18.2.14
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.2.2.10.2.2
|
|
src/etc/mtree/BSD.var.dist 1.71.2.3.6.2
|
|
RELENG_6_3
|
|
src/UPDATING 1.416.2.37.2.19
|
|
src/sys/conf/newvers.sh 1.69.2.15.2.18
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.2.2.8.2.1
|
|
src/etc/mtree/BSD.var.dist 1.71.2.3.4.1
|
|
RELENG_7
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.8.2.5
|
|
src/etc/mtree/BSD.var.dist 1.75.2.1
|
|
RELENG_7_2
|
|
src/UPDATING 1.507.2.23.2.8
|
|
src/sys/conf/newvers.sh 1.72.2.11.2.9
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.8.2.4.4.2
|
|
src/etc/mtree/BSD.var.dist 1.75.8.2
|
|
RELENG_7_1
|
|
src/UPDATING 1.507.2.13.2.12
|
|
src/sys/conf/newvers.sh 1.72.2.9.2.13
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.8.2.4.2.2
|
|
src/etc/mtree/BSD.var.dist 1.75.6.2
|
|
RELENG_8
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.16.2.3
|
|
src/etc/mtree/BSD.var.dist 1.75.10.2
|
|
RELENG_8_0
|
|
src/UPDATING 1.632.2.7.2.4
|
|
src/sys/conf/newvers.sh 1.83.2.6.2.4
|
|
src/usr.sbin/freebsd-update/freebsd-update.sh 1.16.2.2.2.2
|
|
src/etc/mtree/BSD.var.dist 1.75.10.1.2.2
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/6/ r200054
|
|
releng/6.4/ r200054
|
|
releng/6.3/ r200054
|
|
stable/7/ r200054
|
|
releng/7.2/ r200054
|
|
releng/7.1/ r200054
|
|
stable/8/ r200054
|
|
releng/8.0/ r200054
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-09:17.freebsd-update.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.10 (FreeBSD)
|
|
|
|
iEYEARECAAYFAksXhA0ACgkQFdaIBMps37Lg+wCfSK5sMXpsxTW9jpgwwcqx+24z
|
|
zzwAniR50V8K8/vI0qshCUaKwryEYDuK
|
|
=/lsC
|
|
-----END PGP SIGNATURE-----
|