The first patch below updates the -current port to 1.6.16. The second patch updates the 4.8-stable port. Both fix CVE-2011-0715.
Please test/ok. Release announcement for 1.6.16: http://svn.haxx.se/users/archive-2011-03/0019.shtml Changelog: Version 1.6.16 (02 Mar 2011, from /branches/1.6.x) http://svn.apache.org/repos/asf/subversion/tags/1.6.16 User-visible changes: * more improvement to the 'blame -g' memory leak from 1.6.15 (r1041438) * avoid a crash in mod_dav_svn when using locks (r1071239, -307) See CVE-2011-0715, and descriptive advisory at http://subversion.apache.org/security/CVE-2011-0715-advisory.txt * avoid unnecessary globbing for performance (r1068988) * don't add tree conflicts when one already exists (issue #3486) * fix potential crash when requesting mergeinfo (r902467) * don't attempt to resolve prop conflicts in 'merge --dry-run' (r880146) * more fixes for issue #3270. Developer-visible changes: * ensure report_info_t is properly initialized by ra_serf (r1058722) * locate errors properly on a malfunction (r1053208) * fix output param timing of svn_fs_commit_txn() on fsfs (r1051751) * for svn_fs_commit_txn(), set invalid rev on failed commit (r1051632, -8) * fix sporadic Ruby bindings test failures (r1038792) * fix JavaHL JVM object leak when dumping large revisions (r947006) * use Perl to resolve symlinks when building swig-pl (r1039040) * allow Perl bindings to build within a symlinked working copy (r1036534) * don't overwrite the LD_LIBRARY_PATH during make check-swig-pl (r946355) * improve unit tests for some fs functions (r1051744, -5, -3185, -241) = Patch for current = Index: Makefile =================================================================== RCS file: /cvs/ports/devel/subversion/Makefile,v retrieving revision 1.87 diff -u -p -r1.87 Makefile --- Makefile 15 Jan 2011 01:09:43 -0000 1.87 +++ Makefile 23 Feb 2011 19:24:21 -0000 @@ -6,7 +6,7 @@ COMMENT-python= python interface to sub COMMENT-ruby= ruby interface to subversion COMMENT-ap2= apache2 subversion modules -VERSION= 1.6.15 +VERSION= 1.6.16 DISTNAME= subversion-${VERSION} PKGNAME-main= ${DISTNAME} FULLPKGNAME-perl= p5-SVN-${VERSION} @@ -17,8 +17,6 @@ FULLPKGNAME-ruby= ruby-subversion-${VERS FULLPKGPATH-ruby= devel/subversion,-ruby FULLPKGNAME-ap2= ap2-subversion-${VERSION} FULLPKGPATH-ap2= devel/subversion,-ap2 -REVISION-main= 0 -REVISION-ruby= 0 SO_VERSION= 1.2 SVN_LIBS= svn_client-1 svn_delta-1 svn_diff-1 svn_fs-1 \ Index: distinfo =================================================================== RCS file: /cvs/ports/devel/subversion/distinfo,v retrieving revision 1.26 diff -u -p -r1.26 distinfo --- distinfo 25 Nov 2010 11:43:28 -0000 1.26 +++ distinfo 23 Feb 2011 19:24:31 -0000 @@ -1,5 +1,5 @@ -MD5 (subversion-1.6.15.tar.bz2) = ET/KHZ5Ko4nX3CshABD6aQ== -RMD160 (subversion-1.6.15.tar.bz2) = 0aG7h3AK9iSyHYTS8forvN85F+s= -SHA1 (subversion-1.6.15.tar.bz2) = tvrflEqUuG+Ynwe8LXgb5B3wF78= -SHA256 (subversion-1.6.15.tar.bz2) = spGdYDpfPBn0LjJlxLkw4jdsQ7OWm5DvnEKy9y1aqkU= -SIZE (subversion-1.6.15.tar.bz2) = 5515056 +MD5 (subversion-1.6.16.tar.bz2) = MvJaZyRVn+hpHR9Xpj9jbg== +RMD160 (subversion-1.6.16.tar.bz2) = 8S1+sxNySGKQ4IFD7Br9oCl2fTQ= +SHA1 (subversion-1.6.16.tar.bz2) = waBQvYrSRE62cpuKf0UZYHEa8t8= +SHA256 (subversion-1.6.16.tar.bz2) = 3OSJfWLQ3CmrA4NO0dZu3pXAdwLjKgBC+WwkxvEhM4Y= +SIZE (subversion-1.6.16.tar.bz2) = 5509729 = Patch for 4.8-stable = Index: Makefile =================================================================== RCS file: /cvs/ports/devel/subversion/Makefile,v retrieving revision 1.74.2.1 diff -u -p -r1.74.2.1 Makefile --- Makefile 1 Dec 2010 14:17:34 -0000 1.74.2.1 +++ Makefile 24 Feb 2011 11:42:28 -0000 @@ -9,7 +9,7 @@ COMMENT-ap2= apache2 subversion modules VERSION= 1.6.12 DISTNAME= subversion-${VERSION} PKGNAME-main= ${DISTNAME} -REVISION-main= 1 +REVISION-main= 2 FULLPKGNAME-perl= p5-SVN-${VERSION} FULLPKGPATH-perl= devel/subversion,-perl FULLPKGNAME-python= py-subversion-${VERSION} Index: patches/patch-subversion_mod_dav_svn_repos_c =================================================================== RCS file: /cvs/ports/devel/subversion/patches/Attic/patch-subversion_mod_dav_svn_repos_c,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 patch-subversion_mod_dav_svn_repos_c --- patches/patch-subversion_mod_dav_svn_repos_c 1 Dec 2010 14:17:35 -0000 1.1.2.1 +++ patches/patch-subversion_mod_dav_svn_repos_c 24 Feb 2011 11:58:05 -0000 @@ -1,18 +1,32 @@ $OpenBSD: patch-subversion_mod_dav_svn_repos_c,v 1.1.2.1 2010/12/01 14:17:35 jasper Exp $ Fix NULL-deref in mod_dav_svn. http://svn.apache.org/viewvc?view=revision&revision=1033265 + +Also: http://subversion.apache.org/security/CVE-2011-0715-advisory.txt --- subversion/mod_dav_svn/repos.c.orig Wed Oct 14 20:05:15 2009 -+++ subversion/mod_dav_svn/repos.c Wed Nov 24 18:01:58 2010 -@@ -3781,6 +3781,12 @@ walk(const dav_walk_params *params, int depth, dav_res ++++ subversion/mod_dav_svn/repos.c Thu Feb 24 12:55:58 2011 +@@ -1923,8 +1923,10 @@ get_resource(request_rec *r, + dav_locktoken_list *list = ltl; + + serr = svn_fs_get_access(&access_ctx, repos->fs); +- if (serr) ++ if (serr || !access_ctx) + { ++ if (serr == NULL) ++ serr = svn_error_create(SVN_ERR_FS_LOCK_OWNER_MISMATCH, NULL, NULL); + return dav_svn__sanitize_error(serr, "Lock token is in request, " + "but no user name", + HTTP_BAD_REQUEST, r); +@@ -3780,6 +3782,12 @@ walk(const dav_walk_params *params, int depth, dav_res + walker_ctx_t ctx = { 0 }; dav_error *err; - ++ + if (params->root->info->restype == DAV_SVN_RESTYPE_PARENTPATH_COLLECTION) + { + /* Cannot walk an SVNParentPath collection, there is no repository. */ + return NULL; + } -+ + ctx.params = params; - ctx.wres.walk_ctx = params->walk_ctx; Index: patches/patch-subversion_mod_dav_svn_version_c =================================================================== RCS file: patches/patch-subversion_mod_dav_svn_version_c diff -N patches/patch-subversion_mod_dav_svn_version_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-subversion_mod_dav_svn_version_c 24 Feb 2011 11:57:38 -0000 @@ -0,0 +1,19 @@ +$OpenBSD$ +http://subversion.apache.org/security/CVE-2011-0715-advisory.txt +--- subversion/mod_dav_svn/version.c.orig Mon Nov 3 04:15:17 2008 ++++ subversion/mod_dav_svn/version.c Thu Feb 24 12:56:10 2011 +@@ -1172,11 +1172,13 @@ dav_svn__push_locks(dav_resource *resource, + svn_error_t *serr; + + serr = svn_fs_get_access(&fsaccess, resource->info->repos->fs); +- if (serr) ++ if (serr || !fsaccess) + { + /* If an authenticated user name was attached to the request, + then dav_svn_get_resource() should have already noticed and + created an fs_access_t in the filesystem. */ ++ if (serr == NULL) ++ serr = svn_error_create(SVN_ERR_FS_LOCK_OWNER_MISMATCH, NULL, NULL); + return dav_svn__sanitize_error(serr, "Lock token(s) in request, but " + "missing an user name", HTTP_BAD_REQUEST, + resource->info->r);