From: Ruediger Pluem Date: Wed, 2 Jan 2008 09:49:04 +0000 (+0000) Subject: Merge r607275, r607403 from trunk: X-Git-Tag: 2.2.7~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=12ee64e08b3e3faf9d73c61913faf083f4f781d9;p=thirdparty%2Fapache%2Fhttpd.git Merge r607275, r607403 from trunk: * Correctly escape the worker route and the worker redirect string in the HTML output of the balancer manager. Reported by SecurityReason. Submitted by: rpluem Reviewed by: rpluem, niq, wrowe git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@608061 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index f6a6e43c94a..e66e7898ead 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,11 @@  -*- coding: utf-8 -*- Changes with Apache 2.2.7 + *) SECURITY: CVE-2007-6421 (cve.mitre.org) + mod_proxy_balancer: Correctly escape the worker route and the worker + redirect string in the HTML output of the balancer manager. + Reported by SecurityReason. [Ruediger Pluem] + *) mod_ldap: Try to establish a new backend LDAP connection when the Microsoft LDAP client library returns LDAP_UNAVAILABLE, e.g. after the LDAP server has closed the connection due to a timeout. diff --git a/STATUS b/STATUS index 68a66f4684b..68b96503ad6 100644 --- a/STATUS +++ b/STATUS @@ -107,16 +107,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - * mod_proxy_balancer: Correctly escape the worker route and the worker - redirect string in the HTML output of the balancer manager. - Trunk version of patch: - http://svn.apache.org/viewvc?rev=607275&view=rev - http://svn.apache.org/viewvc?rev=607403&view=rev (CVE number added - to CHANGES entry) - Backport version for 2.2.x of patch: - Trunk version of patch works - +1: rpluem, niq, wrowe - PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index fe841797eaf..75c1d3f2e7d 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -764,8 +764,10 @@ static int balancer_handler(request_rec *r) ap_escape_uri(r->pool, worker->name), "\">", NULL); ap_rvputs(r, worker->name, "", NULL); - ap_rvputs(r, "", worker->s->route, NULL); - ap_rvputs(r, "", worker->s->redirect, NULL); + ap_rvputs(r, "", ap_escape_html(r->pool, worker->s->route), + NULL); + ap_rvputs(r, "", + ap_escape_html(r->pool, worker->s->redirect), NULL); ap_rprintf(r, "%d", worker->s->lbfactor); ap_rprintf(r, "%d", worker->s->lbset); if (worker->s->status & PROXY_WORKER_DISABLED) @@ -803,10 +805,12 @@ static int balancer_handler(request_rec *r) ap_rputs("LB Set:\n", wsel->s->lbset); ap_rputs("Route:s->route, NULL); + ap_rvputs(r, "value=\"", ap_escape_html(r->pool, wsel->s->route), + NULL); ap_rputs("\">\n", r); ap_rputs("Route Redirect:s->redirect, NULL); + ap_rvputs(r, "value=\"", ap_escape_html(r->pool, wsel->s->redirect), + NULL); ap_rputs("\">\n", r); ap_rputs("Status:Disabled: s->status & PROXY_WORKER_DISABLED)