Fix compiler warning due to missing function prototype.
[svn.git] / www / security / CAN-2004-0413-advisory.txt
blobdcca08793c67333eed8b9c1fbf048a7e6ff916f0
1 Subversion versions up to and including 1.0.4 have a potential
2 Denial of Service and Heap Overflow issue related to the parsing of
3 strings in the 'svn://' family of access protocols.
5 This affects only sites running svnserve.  It does not affect
6 'http://' access -- repositories served only by Apache/mod_dav_svn
7 do not have this vulnerability.
9 Details:
10 ========
12 The svn protocol sends strings as a length followed by the string.  The
13 parser would trust that the sender was providing an accurate length of
14 the string and would allocate sufficent memory to store the entire
15 string.  This would allow the sender of a string to Denial of Service
16 the other side by suggesting that the string is very large.
17 Additionally, if the size given is large enough it may cause the integer
18 holding the size to wrap, thus allocating less memory than the string
19 length and resulting in a heap overflow.
21 The parsing code with the flaw is shared by both the svnserve server and
22 clients using the svn://, svn+ssh:// and other tunneled svn+*://
23 methods.
25 Severity:
26 =========
28 Severity ranges from "Denial of Service" to, potentially, "Arbitrary
29 Code Execution", depending upon how skilled the attacker is and the
30 ABI specifics of your platform.
32 Since the error is in the parsing of the protocol, including the parsing
33 of authentication, the server vulnerabilities can be triggered without
34 read or write access to the repository.  So any svnserve process that an
35 attacker can connect to is vulnerable even if they do not have read or
36 write access.
38 The Denial of Service attack is reasonably easy to carry out, while
39 exploiting the heap overflow is more difficult.  There are no known
40 exploits in the wild at the time of this advisory.
42 Workarounds:
43 ============
45 Disable svnserve and use DAV (http://) instead.
47 Recommendations:
48 ================
50 We recommend all users upgrade to 1.0.5.
52 References:
53 ===========
55 CAN-2004-0413: Subversion svn:// protocol string parsing error.