subversion: fix for Security Advisory CVE-2013-4131
The mod_dav_svn Apache HTTPD server module in Subversion 1.7.0 through 1.7.10 and 1.8.x before 1.8.1 allows remote authenticated users to cause a denial of service (assertion failure or out-of-bounds read) via a certain (1) COPY, (2) DELETE, or (3) MOVE request against a revision root. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4131 (From OE-Core rev: ce41ed3ca5b6ef06c02c5ca65f285e5ee8c04e7f) Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
e8d6c874a7
commit
722ff438b3
|
@ -0,0 +1,42 @@
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
Index: subversion/mod_dav_svn/repos.c
|
||||||
|
===================================================================
|
||||||
|
--- a/subversion/mod_dav_svn/repos.c (revision 1503527)
|
||||||
|
+++ b/subversion/mod_dav_svn/repos.c (revision 1503528)
|
||||||
|
@@ -2408,21 +2408,12 @@
|
||||||
|
svn_boolean_t is_urlpath,
|
||||||
|
apr_pool_t *pool)
|
||||||
|
{
|
||||||
|
- apr_size_t len;
|
||||||
|
- char *tmp = apr_pstrdup(pool, path);
|
||||||
|
-
|
||||||
|
- len = strlen(tmp);
|
||||||
|
-
|
||||||
|
- if (len > 0)
|
||||||
|
+ if (*path != '\0') /* not an empty string */
|
||||||
|
{
|
||||||
|
- /* Remove any trailing slash; else svn_path_dirname() asserts. */
|
||||||
|
- if (tmp[len-1] == '/')
|
||||||
|
- tmp[len-1] = '\0';
|
||||||
|
-
|
||||||
|
if (is_urlpath)
|
||||||
|
- return svn_urlpath__dirname(tmp, pool);
|
||||||
|
+ return svn_urlpath__dirname(path, pool);
|
||||||
|
else
|
||||||
|
- return svn_fspath__dirname(tmp, pool);
|
||||||
|
+ return svn_fspath__dirname(path, pool);
|
||||||
|
}
|
||||||
|
|
||||||
|
return path;
|
||||||
|
@@ -2458,7 +2449,9 @@
|
||||||
|
parent->versioned = 1;
|
||||||
|
parent->hooks = resource->hooks;
|
||||||
|
parent->pool = resource->pool;
|
||||||
|
- parent->uri = get_parent_path(resource->uri, TRUE, resource->pool);
|
||||||
|
+ parent->uri = get_parent_path(svn_urlpath__canonicalize(resource->uri,
|
||||||
|
+ resource->pool),
|
||||||
|
+ TRUE, resource->pool);
|
||||||
|
parent->info = parentinfo;
|
||||||
|
|
||||||
|
parentinfo->uri_path =
|
|
@ -15,6 +15,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
|
||||||
file://allow-updated-neon.patch \
|
file://allow-updated-neon.patch \
|
||||||
file://neon.m4-fix-includes-and-cflags.patch \
|
file://neon.m4-fix-includes-and-cflags.patch \
|
||||||
file://subversion-CVE-2013-4505.patch \
|
file://subversion-CVE-2013-4505.patch \
|
||||||
|
file://subversion-CVE-2013-4131.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[md5sum] = "4088a77e14232876c9b4ff1541e6e200"
|
SRC_URI[md5sum] = "4088a77e14232876c9b4ff1541e6e200"
|
||||||
SRC_URI[sha256sum] = "c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7"
|
SRC_URI[sha256sum] = "c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7"
|
||||||
|
|
Loading…
Reference in New Issue