Follow-up to r29036: Now that the "mergeinfo" transaction file is no
[svn.git] / www / security / CAN-2004-0749-advisory.txt
blob47fb77ac191050790b2427e64919af6627f78f16
2             mod_authz_svn fails to protect metadata 
4 Summary:
5 =======
7 mod_authz_svn, the Apache httpd module which does path-based
8 authorization on Subversion repositories, is not correctly protecting
9 all metadata on unreadable paths.  
11 This metadata leakage affects the mod_authz_svn module in all released
12 versions of Subversion (through 1.0.7), as well as the 1.1-rc1, -rc2
13 and -rc3 release candidates.  The leakage is fixed in the 1.0.8 and 
14 1.1-rc4 release, as well as the upcoming 1.1 final release.
17 Details:
18 =======
20 If a Subversion commit affects paths that an administrator has marked
21 "unreadable" using mod_authz_svn, then 
23    - "svn log -v" will list the existence of the unreadable paths;
24    - "svn log -v" will show the commit's log message, which might be
25                   considered sensitive metadata in some situations;
26    - "svn propget" is also able to fetch the log message of any commit;
27    - "svn blame" and other commands that follow renames are able to
28                   acknowledge the existence of earlier versions of
29                   files that exist at unreadable locations.
31 Severity:
32 ========
34 Mild-to-medium severity, depending on your situation.
36 This security issue is not about revealing the contents of protected
37 files: it only reveals metadata about protected areas such as paths
38 and log messages.  This may or may not be important to your
39 organization, depending on how you're using path-based authorization,
40 and the sensitivity of the metadata.
42 (Exception: in the case of "svn blame", and only in svn 1.1-rc2 and
43 -rc3, it's possible that older unreadable versions of a file are being
44 transported from server to client; the contents aren't displayed, but
45 the data is still traveling over the network.)
47 These issues only affects users of mod_authz_svn, not people using
48 native httpd.conf directives (such as <Limit> or <LimitExcept>)
49 directives to limit general readability on whole repositories.
52 Workarounds:
53 ===========
55 * Use mod_authz_svn to restrict writes only, not reads.
57 * Break unreadable areas into separate repositories, and use native
58   apache httpd.conf directives to make them unreadable.
61 References:
62 ==========
64   CAN-2004-0749: mod_authz_svn fails to protect metadata
66 Recommendation:
67 ==============
69 We recommend an upgrade to 1.0.8 or 1.1.0-rc4.