You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pq...@apache.org on 2010/07/25 22:38:55 UTC
svn commit: r151 - in /release/httpd/patches:
apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt
apply_to_2.2.15/CVE-2010-1452-r966349.patch
Author: pquerna
Date: Sun Jul 25 20:38:53 2010
New Revision: 151
Log:
adding in CVE-2010-1452 patches
Added:
release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt (with props)
release/httpd/patches/apply_to_2.2.15/CVE-2010-1452-r966349.patch
Added: release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt
==============================================================================
--- release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt (added)
+++ release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt Sun Jul 25 20:38:53 2010
@@ -0,0 +1,31 @@
+# SECURITY: CVE-2010-1452 (cve.mitre.org)
+# mod_dav: Fix Handling of requests without a path segment.
+# PR: 49246 [Mark Drayton, Jeff Trawick]
+# Backports: r966348
+Index: modules/dav/main/util.c
+===================================================================
+--- modules/dav/main/util.c (revision 966476)
++++ modules/dav/main/util.c (working copy)
+@@ -624,7 +624,8 @@
+
+ /* 2518 specifies this must be an absolute URI; just take the
+ * relative part for later comparison against r->uri */
+- if (apr_uri_parse(r->pool, uri, &parsed_uri) != APR_SUCCESS) {
++ if (apr_uri_parse(r->pool, uri, &parsed_uri) != APR_SUCCESS
++ || !parsed_uri.path) {
+ return dav_new_error(r->pool, HTTP_BAD_REQUEST,
+ DAV_ERR_IF_TAGGED,
+ "Invalid URI in tagged If-header.");
+Index: include/httpd.h
+===================================================================
+--- include/httpd.h (revision 966476)
++++ include/httpd.h (working copy)
+@@ -866,7 +866,7 @@
+
+ /** The URI without any parsing performed */
+ char *unparsed_uri;
+- /** The path portion of the URI */
++ /** The path portion of the URI, or "/" if no path provided */
+ char *uri;
+ /** The filename on disk corresponding to this response */
+ char *filename;
Propchange: release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: release/httpd/patches/apply_to_2.0.63/CVE-2010-1452-patch-2.0.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/httpd/patches/apply_to_2.2.15/CVE-2010-1452-r966349.patch
==============================================================================
--- release/httpd/patches/apply_to_2.2.15/CVE-2010-1452-r966349.patch (added)
+++ release/httpd/patches/apply_to_2.2.15/CVE-2010-1452-r966349.patch Sun Jul 25 20:38:53 2010
@@ -0,0 +1,49 @@
+Index: modules/cache/cache_storage.c
+===================================================================
+--- modules/cache/cache_storage.c (revision 966348)
++++ modules/cache/cache_storage.c (revision 966349)
+@@ -479,7 +479,7 @@
+ * Check if we need to ignore session identifiers in the URL and do so
+ * if needed.
+ */
+- path = r->parsed_uri.path;
++ path = r->uri;
+ querystring = r->parsed_uri.query;
+ if (conf->ignore_session_id->nelts) {
+ int i;
+@@ -546,7 +546,7 @@
+ */
+ cache->key = apr_pstrdup(r->pool, *key);
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+- "cache: Key for entity %s?%s is %s", r->parsed_uri.path,
++ "cache: Key for entity %s?%s is %s", r->uri,
+ r->parsed_uri.query, *key);
+
+ return APR_SUCCESS;
+Index: modules/dav/main/util.c
+===================================================================
+--- modules/dav/main/util.c (revision 966348)
++++ modules/dav/main/util.c (revision 966349)
+@@ -624,7 +624,8 @@
+
+ /* 2518 specifies this must be an absolute URI; just take the
+ * relative part for later comparison against r->uri */
+- if (apr_uri_parse(r->pool, uri, &parsed_uri) != APR_SUCCESS) {
++ if (apr_uri_parse(r->pool, uri, &parsed_uri) != APR_SUCCESS
++ || !parsed_uri.path) {
+ return dav_new_error(r->pool, HTTP_BAD_REQUEST,
+ DAV_ERR_IF_TAGGED,
+ "Invalid URI in tagged If-header.");
+Index: include/httpd.h
+===================================================================
+--- include/httpd.h (revision 966348)
++++ include/httpd.h (revision 966349)
+@@ -940,7 +940,7 @@
+
+ /** The URI without any parsing performed */
+ char *unparsed_uri;
+- /** The path portion of the URI */
++ /** The path portion of the URI, or "/" if no path provided */
+ char *uri;
+ /** The filename on disk corresponding to this response */
+ char *filename;