CVS: possible root compromise when using CVS pserver
Gentoo Linux Security Advisory
||GLSA 200312-08 / cvs
||December 28, 2003
||December 28, 2003: 01
All supported architectures
A possible root compromise exists for CVS pservers.
CVS, which stands for Concurrent Versions System, is a client/server
application which tracks changes to sets of files. It allows multiple users
to work concurrently on files, and then merge their changes back into the
main tree (which can be on a remote system). It also allows branching, or
maintaining separate versions for files.
Quote from ccvs.cvshome.org/servlets/NewsItemView?newsID=88:
"Stable CVS 1.11.11 has been released. Stable releases contain only bug
fixes from previous versions of CVS. This release adds code to the CVS
server to prevent it from continuing as root after a user login, as an extra
failsafe against a compromise of the CVSROOT/passwd file. Previously, any
user with the ability to write the CVSROOT/passwd file could execute
arbitrary code as the root user on systems with CVS pserver access enabled.
We recommend this upgrade for all CVS servers!"
A remote user could execute arbitrary code with the permissions of the root
There is no known workaround at this time.
All Gentoo Linux machines with cvs installed should be updated to use
cvs-1.11.11 or higher.
Code Listing 3.1: Resolution
# emerge sync
# emerge -pv '>=dev-util/cvs-1.11.11'
# emerge '>=dev-util/cvs-1.11.11'
# emerge clean