Subversion: Remote heap overflow
Gentoo Linux Security Advisory
||GLSA 200406-07 / dev-util/subversion
||June 10, 2004
||June 10, 2004: 01
All supported architectures
No related gentoo bugreports
Subversion is vulnerable to a remote Denial of Service that may be
exploitable to execute arbitrary code on the server running svnserve.
Subversion is a revision control system that aims to be a "compelling
replacement for CVS". It enjoys wide use in the open source community.
svnserve allows access to Subversion repositories using URIs with the
svn://, svn+ssh://, and other tunelled svn+*:// protocols.
The svn protocol parser trusts the indicated length of a URI string sent by
a client. This allows a client to specify a very long string, thereby
causing svnserve to allocate enough memory to hold that string. This may
cause a Denial of Service. Alternately, given a string that causes an
integer overflow in the variable holding the string length, the server
might allocate less memory than required, allowing a heap overflow. This
heap overflow may then be exploitable, allowing remote code execution. The
attacker does not need read or write access to the Subversion repository
being served, since even un-authenticated users can send svn protocol
Ranges from remote Denial of Service to potential arbitrary code execution
with privileges of the svnserve process.
Servers without svnserve running are not vulnerable. Disable svnserve and
use DAV for access instead.
All users should upgrade to the latest version of Subversion.
Code Listing 3.1: Resolution
# emerge sync
# emerge -pv ">=dev-util/subversion-1.0.4-r1"
# emerge ">=dev-util/subversion-1.0.4-r1"