Essentials

Download!

Documentation

Get Support

Get Involved

Subprojects

Related Projects

Miscellaneous

Apache httpd 2.4 vulnerabilities

This page lists all security vulnerabilities fixed in released versions of Apache httpd 2.4. Each vulnerability is given a security impact rating by the Apache security team - please note that this rating may well vary from platform to platform. We also list the versions of Apache httpd the flaw is known to affect, and where a flaw has not been verified list the version with a question mark.

Please note that if a vulnerability is shown below as being fixed in a "-dev" release then this means that a fix has been applied to the development source tree and will be part of an upcoming full release.

This page is created from a database of vulnerabilities originally populated by Apache Week. Please send comments or corrections for these vulnerabilities to the Security Team.

The initial GA release, Apache httpd 2.4.1, includes fixes for all vulnerabilities which have been resolved in Apache httpd 2.2.22 and all older releases. Consult the Apache httpd 2.2 vulnerabilities list for more information.

Fixed in Apache httpd 2.4.25

important: Apache HTTP Request Parsing Whitespace Defects CVE-2016-8743

Apache HTTP Server, prior to release 2.4.25, accepted a broad pattern of unusual whitespace patterns from the user-agent, including bare CR, FF, VTAB in parsing the request line and request header lines, as well as HTAB in parsing the request line. Any bare CR present in request lines was treated as whitespace and remained in the request field member "the_request", while a bare CR in the request header field name would be honored as whitespace, and a bare CR in the request header field value was retained the input headers array. Implied additional whitespace was accepted in the request line and prior to the ':' delimiter of any request header lines.

RFC7230 Section 3.5 calls out some of these whitespace exceptions, and section 3.2.3 eliminated and clarified the role of implied whitespace in the grammer of this specification. Section 3.1.1 requires exactly one single SP between the method and request-target, and between the request-target and HTTP-version, followed immediately by a CRLF sequence. None of these fields permit any (unencoded) CTL character whatsoever. Section 3.2.4 explicitly disallowed any whitespace from the request header field prior to the ':' character, while Section 3.2 disallows all CTL characters in the request header line other than the HTAB character as whitespace.

These defects represent a security concern when httpd is participating in any chain of proxies or interacting with back-end application servers, either through mod_proxy or using conventional CGI mechanisms. In each case where one agent accepts such CTL characters and does not treat them as whitespace, there is the possiblity in a proxy chain of generating two responses from a server behind the uncautious proxy agent. In a sequence of two requests, this results in request A to the first proxy being interpreted as requests A + A' by the backend server, and if requests A and B were submitted to the first proxy in a keepalive connection, the proxy may interpret response A' as the response to request B, polluting the cache or potentially serving the A' content to a different downstream user-agent.

These defects are addressed with the release of Apache HTTP Server 2.4.25 and coordinated by a new directive;

which is the default behavior of 2.4.25 and later. By toggling from 'Strict' behavior to 'Unsafe' behavior, some of the restrictions may be relaxed to allow some invalid HTTP/1.1 clients to communicate with the server, but this will reintroduce the possibility of the problems described in this assessment. Note that relaxing the behavior to 'Unsafe' will still not permit raw CTLs other than HTAB (where permitted), but will allow other RFC requirements to not be enforced, such as exactly two SP characters in the request line.

Acknowledgements: We would like to thank David Dennerline at IBM Security's X-Force Researchers as well as Régis Leroy for each reporting this issue.

Reported to security team: 10th February 2016
Issue public: 20th December 2016
Update Released: 20th December 2016
Affects: 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

low: HTTP/2 CONTINUATION denial of service CVE-2016-8740

The HTTP/2 protocol implementation (mod_http2) had an incomplete handling of the LimitRequestFields directive. This allowed an attacker to inject unlimited request headers into the server, leading to eventual memory exhaustion.

Acknowledgements: We would like to thank Naveen Tiwari and CDF/SEFCOM at Arizona State University to reporting this issue.

Reported to security team: 22nd November 2016
Issue public: 4th December 2016
Update Released: 20th December 2016
Affects: 2.4.23, 2.4.20, 2.4.18, 2.4.17

low: DoS vulnerability in mod_auth_digest CVE-2016-2161

Malicious input to mod_auth_digest will cause the server to crash, and each instance continues to crash even for subsequently valid requests.

Acknowledgements: We would like to thank Maksim Malyutin for reporting this issue.

Reported to security team: 11th July 2016
Issue public: 20th December 2016
Update Released: 20th December 2016
Affects: 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

low: Padding Oracle in Apache mod_session_crypto CVE-2016-0736

Prior to Apache HTTP release 2.4.25, mod_sessioncrypto was encrypting its data/cookie using the configured ciphers with possibly either CBC or ECB modes of operation (AES256-CBC by default), hence no selectable or builtin authenticated encryption. This made it vulnerable to padding oracle attacks, particularly with CBC. An authentication tag (SipHash MAC) is now added to prevent such attacks.

Acknowledgements: We would like to thank individuals at the RedTeam Pentesting GmbH for reporting this issue.

Reported to security team: 20th January 2016
Issue public: 20th December 2016
Update Released: 20th December 2016
Affects: 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

n/a: HTTP_PROXY environment variable "httpoxy" mitigation CVE-2016-5387

HTTP_PROXY is a well-defined environment variable in a CGI process, which collided with a number of libraries which failed to avoid colliding with this CGI namespace. A mitigation is provided for the httpd CGI environment to avoid populating the "HTTP_PROXY" variable from a "Proxy:" header, which has never been registered by IANA.

This workaround and patch are documented in the ASF Advisory at https://www.apache.org/security/asf-httpoxy-response.txt and incorporated in the 2.4.25 release.

Note: This is not assigned an httpd severity, as it is a defect in other software which overloaded well-established CGI environment variables, and does not reflect an error in HTTP server software.

Acknowledgements: We would like to thank Dominic Scheirlinck and Scott Geary of Vend for reporting and proposing a fix for this issue.

Reported to security team: 2nd July 2016
Issue public: 18th July 2016
Update Released: 20th December 2016
Affects: 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.23

important: TLS/SSL X.509 client certificate auth bypass with HTTP/2 CVE-2016-4979

For configurations enabling support for HTTP/2, SSL client certificate validation was not enforced if configured, allowing clients unauthorized access to protected resources over HTTP/2.

This issue affected releases 2.4.18 and 2.4.20 only.

Acknowledgements: This issue was reported by Erki Aring.

Reported to security team: 30th June 2016
Issue public: 5th July 2016
Update Released: 5th July 2016
Affects: 2.4.20, 2.4.18

Fixed in Apache httpd 2.4.20

low: mod_http2: denial of service by thread starvation CVE-2016-1546

By manipulating the flow control windows on streams, a client was able to block server threads for long times, causing starvation of worker threads. Connections could still be opened, but no streams where processed for these. This issue affected HTTP/2 support in 2.4.17 and 2.4.18.

Acknowledgements: This issue was reported by Noam Mazor.

Reported to security team: 2nd February 2016
Issue public: 11th April 2016
Update Released: 11th April 2016
Affects: 2.4.18, 2.4.17

Fixed in Apache httpd 2.4.16

low: mod_lua: Crash in websockets PING handling CVE-2015-0228

A stack recursion crash in the mod_lua module was found. A Lua script executing the r:wsupgrade() function could crash the process if a malicious client sent a carefully crafted PING request. This issue affected releases 2.4.7 through 2.4.12 inclusive.

Acknowledgements: This issue was reported by Guido Vranken.

Reported to security team: 28th January 2015
Issue public: 4th February 2015
Update Released: 15th July 2015
Affects: 2.4.12, 2.4.10, 2.4.9, 2.4.7

low: Crash in ErrorDocument 400 handling CVE-2015-0253

A crash in ErrorDocument handling was found. If ErrorDocument 400 was configured pointing to a local URL-path with the INCLUDES filter active, a NULL dereference would occur when handling the error, causing the child process to crash. This issue affected the 2.4.12 release only.

Reported to security team: 3rd February 2015
Issue public: 5th March 2015
Update Released: 15th July 2015
Affects: 2.4.12

low: HTTP request smuggling attack against chunked request parser CVE-2015-3183

An HTTP request smuggling attack was possible due to a bug in parsing of chunked requests. A malicious client could force the server to misinterpret the request length, allowing cache poisoning or credential hijacking if an intermediary proxy is in use.

Acknowledgements: This issue was reported by Régis Leroy.

Reported to security team: 4th April 2015
Issue public: 9th June 2015
Update Released: 15th July 2015
Affects: 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

low: ap_some_auth_required API unusable CVE-2015-3185

A design error in the "ap_some_auth_required" function renders the API unusuable in httpd 2.4.x. In particular the API is documented to answering if the request required authentication but only answers if there are Require lines in the applicable configuration. Since 2.4.x Require lines are used for authorization as well and can appear in configurations even when no authentication is required and the request is entirely unrestricted. This could lead to modules using this API to allow access when they should otherwise not do so. API users should use the new ap_some_authn_required API added in 2.4.16 instead.

Acknowledgements: This issue was reported by Ben Reser.

Reported to security team: 5th August 2013
Issue public: 9th June 2015
Update Released: 15th July 2015
Affects: 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

Fixed in Apache httpd 2.4.12

low: mod_lua multiple "Require" directive handling is broken CVE-2014-8109

Fix handling of the Require line in mod_lau when a LuaAuthzProvider is used in multiple Require directives with different arguments. This could lead to different authentication rules than expected.

Issue public: 9th November 2014
Update Released: 30th January 2015
Affects: 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

low: mod_proxy_fcgi out-of-bounds memory read CVE-2014-3583

An out-of-bounds memory read was found in mod_proxy_fcgi. A malicious FastCGI server could send a carefully crafted response which could lead to a crash when reading past the end of a heap memory or stack buffer. This issue affects version 2.4.10 only.

Acknowledgements: This issue was reported by Teguh P. Alko.

Reported to security team: 17th September 2014
Issue public: 12th November 2014
Update Released: 30th January 2015
Affects: 2.4.10

low: mod_cache crash with empty Content-Type header CVE-2014-3581

A NULL pointer deference was found in mod_cache. A malicious HTTP server could cause a crash in a caching forward proxy configuration. This crash would only be a denial of service if using a threaded MPM.

Issue public: 8th September 2014
Update Released: 30th January 2015
Affects: 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

low: HTTP Trailers processing bypass CVE-2013-5704

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.

This fix adds the "MergeTrailers" directive to restore legacy behavior.

Acknowledgements: This issue was reported by Martin Holst Swende.

Reported to security team: 6th September 2013
Issue public: 19th October 2013
Update Released: 30th January 2015
Affects: 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.10

important: mod_cgid denial of service CVE-2014-0231

A flaw was found in mod_cgid. If a server using mod_cgid hosted CGI scripts which did not consume standard input, a remote attacker could cause child processes to hang indefinitely, leading to denial of service.

Acknowledgements: This issue was reported by Rainer Jung of the ASF

Reported to security team: 16th June 2014
Issue public: 14th July 2014
Update Released: 14th July 2014
Affects: 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

important: WinNT MPM denial of service CVE-2014-3523

A flaw was found in the WinNT MPM in httpd versions 2.4.1 to 2.4.9, when using the default AcceptFilter for that platform. A remote attacker could send carefully crafted requests that would leak memory and eventually lead to a denial of service against the server.

Acknowledgements: This issue was reported by Jeff Trawick of the ASF

Reported to security team: 1st July 2014
Issue public: 15th July 2014
Update Released: 15th July 2014
Affects: 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

moderate: mod_proxy denial of service CVE-2014-0117

A flaw was found in mod_proxy in httpd versions 2.4.6 to 2.4.9. A remote attacker could send a carefully crafted request to a server configured as a reverse proxy, and cause the child process to crash. This could lead to a denial of service against a threaded MPM.

Acknowledgements: This issue was reported by Marek Kroemeke, AKAT-1 and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 via HP ZDI

Reported to security team: 7th April 2014
Issue public: 15th July 2014
Update Released: 15th July 2014
Affects: 2.4.9, 2.4.7, 2.4.6

moderate: mod_deflate denial of service CVE-2014-0118

A resource consumption flaw was found in mod_deflate. If request body decompression was configured (using the "DEFLATE" input filter), a remote attacker could cause the server to consume significant memory and/or CPU resources. The use of request body decompression is not a common configuration.

Acknowledgements: This issue was reported by Giancarlo Pellegrino and Davide Balzarotti

Reported to security team: 19th February 2014
Issue public: 14th July 2014
Update Released: 14th July 2014
Affects: 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

moderate: mod_status buffer overflow CVE-2014-0226

A race condition was found in mod_status. An attacker able to access a public server status page on a server using a threaded MPM could send a carefully crafted request which could lead to a heap buffer overflow. Note that it is not a default or recommended configuration to have a public accessible server status page.

Acknowledgements: This issue was reported by Marek Kroemeke, AKAT-1 and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 via HP ZDI

Reported to security team: 30th May 2014
Issue public: 14th July 2014
Update Released: 14th July 2014
Affects: 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.7

low: mod_cache crash CVE-2013-4352

A NULL pointer dereference was found in mod_cache. A malicious HTTP server could cause a crash in a caching forward proxy configuration. (Note that this vulnerability was fixed in the 2.4.7 release, but the security impact was not disclosed at the time of the release.)

Reported to security team: 14th September 2013
Issue public: 14th July 2014
Update Released: 26th November 2013
Affects: 2.4.6

Fixed in Apache httpd 2.4.9

low: mod_log_config crash CVE-2014-0098

A flaw was found in mod_log_config. A remote attacker could send a specific truncated cookie causing a crash. This crash would only be a denial of service if using a threaded MPM.

Acknowledgements: This issue was reported by Rainer M Canavan

Reported to security team: 25th February 2014
Issue public: 17th March 2014
Update Released: 17th March 2014
Affects: 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

moderate: mod_dav crash CVE-2013-6438

XML parsing code in mod_dav incorrectly calculates the end of the string when removing leading spaces and places a NUL character outside the buffer, causing random crashes. This XML parsing code is only used with DAV provider modules that support DeltaV, of which the only publicly released provider is mod_dav_svn.

Acknowledgements: This issue was reported by Ning Zhang & Amin Tora of Neustar

Reported to security team: 10th December 2013
Issue public: 17th March 2014
Update Released: 17th March 2014
Affects: 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.6

moderate: mod_dav crash CVE-2013-1896

Sending a MERGE request against a URI handled by mod_dav_svn with the source href (sent as part of the request body as XML) pointing to a URI that is not configured for DAV will trigger a segfault.

Acknowledgements: This issue was reported by Ben Reser

Reported to security team: 7th March 2013
Issue public: 23rd May 2013
Update Released: 22nd July 2013
Affects: 2.4.4, 2.4.3, 2.4.2, 2.4.1

moderate: mod_session_dbd session fixation flaw CVE-2013-2249

A flaw in mod_session_dbd caused it to proceed with save operations for a session without considering the dirty flag and the requirement for a new session ID.

Acknowledgements: This issue was reported by Takashi Sato

Reported to security team: 29th May 2013
Issue public: 22nd July 2013
Update Released: 22nd July 2013
Affects: 2.4.4, 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.4

low: XSS due to unescaped hostnames CVE-2012-3499

Various XSS flaws due to unescaped hostnames and URIs HTML output in mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp.

Acknowledgements: This issue was reported by Niels Heinen of Google

Reported to security team: 11th July 2012
Issue public: 18th February 2013
Update Released: 25th February 2013
Affects: 2.4.3, 2.4.2, 2.4.1

moderate: XSS in mod_proxy_balancer CVE-2012-4558

A XSS flaw affected the mod_proxy_balancer manager interface.

Acknowledgements: This issue was reported by Niels Heinen of Google

Reported to security team: 7th October 2012
Issue public: 18th February 2013
Update Released: 25th February 2013
Affects: 2.4.3, 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.3

important: Response mixup when using mod_proxy_ajp or mod_proxy_http CVE-2012-3502

The modules mod_proxy_ajp and mod_proxy_http did not always close the connection to the back end server when necessary as part of error handling. This could lead to an information disclosure due to a response mixup between users.

Issue public: 16th August 2012
Update Released: 21st August 2012
Affects: 2.4.2, 2.4.1

low: XSS in mod_negotiation when untrusted uploads are supported CVE-2012-2687

Possible XSS for sites which use mod_negotiation and allow untrusted uploads to locations which have MultiViews enabled.

Note: This issue is also known as CVE-2008-0455.

Reported to security team: 31st May 2012
Issue public: 13th June 2012
Update Released: 21st August 2012
Affects: 2.4.2, 2.4.1

Fixed in Apache httpd 2.4.2

low: insecure LD_LIBRARY_PATH handling CVE-2012-0883

Insecure handling of LD_LIBRARY_PATH was found that could lead to the current working directory to be searched for DSOs. This could allow a local user to execute code as root if an administrator runs apachectl from an untrusted directory.

Reported to security team: 14th February 2012
Issue public: 2nd March 2012
Update Released: 17th April 2012
Affects: 2.4.1