summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYue Tao <Yue.Tao@windriver.com>2014-04-15 15:57:31 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-21 09:09:00 +0100
commit722ff438b355afc04f82e0aca47f9082d2d3d7df (patch)
tree3035607d7744b5d4bf8718e94f63533794583ae8
parente8d6c874a72a14e1b0850bef104caceb7fb7d0ad (diff)
downloadpoky-722ff438b355afc04f82e0aca47f9082d2d3d7df.tar.gz
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>
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch42
-rw-r--r--meta/recipes-devtools/subversion/subversion_1.7.10.bb1
2 files changed, 43 insertions, 0 deletions
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch
new file mode 100644
index 0000000000..88bd25e0d9
--- /dev/null
+++ b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch
@@ -0,0 +1,42 @@
1Upstream-Status: Backport
2
3Index: subversion/mod_dav_svn/repos.c
4===================================================================
5--- a/subversion/mod_dav_svn/repos.c (revision 1503527)
6+++ b/subversion/mod_dav_svn/repos.c (revision 1503528)
7@@ -2408,21 +2408,12 @@
8 svn_boolean_t is_urlpath,
9 apr_pool_t *pool)
10 {
11- apr_size_t len;
12- char *tmp = apr_pstrdup(pool, path);
13-
14- len = strlen(tmp);
15-
16- if (len > 0)
17+ if (*path != '\0') /* not an empty string */
18 {
19- /* Remove any trailing slash; else svn_path_dirname() asserts. */
20- if (tmp[len-1] == '/')
21- tmp[len-1] = '\0';
22-
23 if (is_urlpath)
24- return svn_urlpath__dirname(tmp, pool);
25+ return svn_urlpath__dirname(path, pool);
26 else
27- return svn_fspath__dirname(tmp, pool);
28+ return svn_fspath__dirname(path, pool);
29 }
30
31 return path;
32@@ -2458,7 +2449,9 @@
33 parent->versioned = 1;
34 parent->hooks = resource->hooks;
35 parent->pool = resource->pool;
36- parent->uri = get_parent_path(resource->uri, TRUE, resource->pool);
37+ parent->uri = get_parent_path(svn_urlpath__canonicalize(resource->uri,
38+ resource->pool),
39+ TRUE, resource->pool);
40 parent->info = parentinfo;
41
42 parentinfo->uri_path =
diff --git a/meta/recipes-devtools/subversion/subversion_1.7.10.bb b/meta/recipes-devtools/subversion/subversion_1.7.10.bb
index 011d51b613..2d06263a1e 100644
--- a/meta/recipes-devtools/subversion/subversion_1.7.10.bb
+++ b/meta/recipes-devtools/subversion/subversion_1.7.10.bb
@@ -15,6 +15,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
15 file://allow-updated-neon.patch \ 15 file://allow-updated-neon.patch \
16 file://neon.m4-fix-includes-and-cflags.patch \ 16 file://neon.m4-fix-includes-and-cflags.patch \
17 file://subversion-CVE-2013-4505.patch \ 17 file://subversion-CVE-2013-4505.patch \
18 file://subversion-CVE-2013-4131.patch \
18" 19"
19SRC_URI[md5sum] = "4088a77e14232876c9b4ff1541e6e200" 20SRC_URI[md5sum] = "4088a77e14232876c9b4ff1541e6e200"
20SRC_URI[sha256sum] = "c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7" 21SRC_URI[sha256sum] = "c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7"