mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
*) SECURITY: CVE-2013-5704 (cve.mitre.org)
core: HTTP trailers could be used to replace HTTP headers late during request processing, potentially undoing or otherwise confusing modules that examined or modified request headers earlier. Adds "MergeTrailers" directive to restore legacy behavior. Submitted By: Edward Lu, Yann Ylavic, Joe Orton, Eric Covener Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610814 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -463,6 +463,7 @@ static request_rec *internal_internal_redirect(const char *new_uri,
|
||||
new->main = r->main;
|
||||
|
||||
new->headers_in = r->headers_in;
|
||||
new->trailers_in = r->trailers_in;
|
||||
new->headers_out = apr_table_make(r->pool, 12);
|
||||
if (ap_is_HTTP_REDIRECT(new->status)) {
|
||||
const char *location = apr_table_get(r->headers_out, "Location");
|
||||
@@ -470,6 +471,7 @@ static request_rec *internal_internal_redirect(const char *new_uri,
|
||||
apr_table_setn(new->headers_out, "Location", location);
|
||||
}
|
||||
new->err_headers_out = r->err_headers_out;
|
||||
new->trailers_out = apr_table_make(r->pool, 5);
|
||||
new->subprocess_env = rename_original_env(r->pool, r->subprocess_env);
|
||||
new->notes = apr_table_make(r->pool, 5);
|
||||
|
||||
@@ -583,6 +585,8 @@ AP_DECLARE(void) ap_internal_fast_redirect(request_rec *rr, request_rec *r)
|
||||
r->headers_out);
|
||||
r->err_headers_out = apr_table_overlay(r->pool, rr->err_headers_out,
|
||||
r->err_headers_out);
|
||||
r->trailers_out = apr_table_overlay(r->pool, rr->trailers_out,
|
||||
r->trailers_out);
|
||||
r->subprocess_env = apr_table_overlay(r->pool, rr->subprocess_env,
|
||||
r->subprocess_env);
|
||||
|
||||
|
Reference in New Issue
Block a user