Apache Httpd < 2.2.15 : Subrequest handling of request headers (mod_headers)

2009-12-09T00:00:00
ID HTTPD:A49ADFA68FCEB939DA0E2BE13CA74CB9
Type httpd
Reporter Apache Team Foundation
Modified 2010-03-05T00:00:00

Description

A flaw in the core subrequest process code was fixed, to always provide a shallow copy of the headers_in array to the subrequest, instead of a pointer to the parent request's array as it had for requests without request bodies. This meant all modules such as mod_headers which may manipulate the input headers for a subrequest would poison the parent request in two ways, one by modifying the parent request, which might not be intended, and second by leaving pointers to modified header fields in memory allocated to the subrequest scope, which could be freed before the main request processing was finished, resulting in a segfault or in revealing data from another request on threaded servers, such as the worker or winnt MPMs.