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)
133 lines
5 KiB
Text
133 lines
5 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-04:07.cvs Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: CVS path validation errors
|
|
|
|
Category: contrib
|
|
Module: contrib_cvs
|
|
Announced: 2004-04-15
|
|
Revised: 2004-04-16
|
|
Credits: Sebastian Krahmer <krahmer@suse.de>
|
|
Derek Robert Price <derek@ximbiot.com>
|
|
Affects: All FreeBSD versions prior to 4.10-RELEASE
|
|
Corrected: 2004-04-15 15:35:26 UTC (RELENG_4, 4.10-BETA)
|
|
2004-04-15 15:42:50 UTC (RELENG_5_2, 5.2.1-RELEASE-p5)
|
|
2004-04-15 15:59:05 UTC (RELENG_4_9, 4.9-RELEASE-p5)
|
|
2004-04-15 15:59:54 UTC (RELENG_4_8, 4.8-RELEASE-p18)
|
|
CVE Name: CAN-2004-0180, CAN-2004-0405
|
|
FreeBSD only: NO
|
|
|
|
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/>.
|
|
|
|
0. Revision History
|
|
|
|
v1.0 2004-04-14 Initial release.
|
|
v1.1 2004-04-15 Added additional CVE name. Corrected affected release
|
|
names. Reworded `Workaround' section.
|
|
|
|
I. Background
|
|
|
|
The Concurrent Versions System (CVS) is a version control system. It
|
|
may be used to access a repository locally, or to access a `remote
|
|
repository' using a number of different methods. When accessing a
|
|
remote repository, the target machine runs the CVS server to fulfill
|
|
client requests.
|
|
|
|
II. Problem Description
|
|
|
|
Two programming errors were discovered in which path names handled by
|
|
CVS were not properly validated. In one case, CAN-2004-0180, the CVS
|
|
client accepts absolute path names from the server when determining
|
|
which files to update. In another case, CAN-2004-0405, the CVS server
|
|
accepts relative path names from the client when determining which
|
|
files to transmit, including those containing references to parent
|
|
directories (`../').
|
|
|
|
III. Impact
|
|
|
|
These programming errors generally only have a security impact when
|
|
dealing with remote CVS repositories.
|
|
|
|
A malicious CVS server may cause a CVS client to overwrite arbitrary
|
|
files on the client's system.
|
|
|
|
A CVS client may request RCS files from a remote system other than
|
|
those in the repository specified by $CVSROOT. These RCS files need
|
|
not be part of any CVS repository themselves.
|
|
|
|
IV. Workaround
|
|
|
|
Users of CVS clients should avoid accessing remote repositories.
|
|
Administrators of CVS repositories should disable remote access.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 4-STABLE; or to the RELENG_5_2,
|
|
RELENG_4_9, or RELENG_4_8 security branch dated after the correction
|
|
date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 4.8,
|
|
4.9, 5.1, and 5.2 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-04:07/cvs.patch
|
|
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:07/cvs.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/gnu/usr.bin/cvs
|
|
# 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/cvs/src/client.c 1.2.2.7
|
|
src/contrib/cvs/src/modules.c 1.1.1.5.2.4
|
|
RELENG_5_2
|
|
src/UPDATING 1.282.2.13
|
|
src/sys/conf/newvers.sh 1.56.2.12
|
|
src/contrib/cvs/src/client.c 1.10.4.1
|
|
src/contrib/cvs/src/modules.c 1.1.1.8.6.2
|
|
RELENG_4_9
|
|
src/UPDATING 1.73.2.89.2.6
|
|
src/sys/conf/newvers.sh 1.44.2.32.2.6
|
|
src/contrib/cvs/src/client.c 1.2.2.6.4.1
|
|
src/contrib/cvs/src/modules.c 1.1.1.5.2.3.4.1
|
|
RELENG_4_8
|
|
src/UPDATING 1.73.2.80.2.21
|
|
src/sys/conf/newvers.sh 1.44.2.29.2.19
|
|
src/contrib/cvs/src/client.c 1.2.2.6.2.1
|
|
src/contrib/cvs/src/modules.c 1.1.1.5.2.3.2.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://ccvs.cvshome.org/servlets/NewsItemView?newsID=102
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.2.4 (FreeBSD)
|
|
|
|
iD8DBQFAf9JjFdaIBMps37IRAvX1AKCLBj7AKXeH0H+MQdQPOOlQESzi+wCZAV0I
|
|
NMgLCxOS/j9H34OJlYOLflU=
|
|
=W0D4
|
|
-----END PGP SIGNATURE-----
|