Apache HTTP Server 2.4 vulnerabilities

interdepartmentally Overview :
In Apache HTTP Server 2.4.0 to 2.4.41, redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.

CVE-2020-1927

Apache HTTP Server 2.4 vulnerabilities

This page lists all security vulnerabilities fixed in released versions of Apache HTTP Server 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.

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.42

low: mod_proxy_ftp use of uninitialized value (CVE-2020-1934)

Apache HTTP Server versions 2.4.0 to 2.41
mod_proxy_ftp use of uninitialized value with maliciosu FTP backend.

Acknowledgements: The issue was discovered by Chamal De Silva

Reported to security team 3rd January 2020
Issue public 1st April 2020
Affects 2.4.41, 2.4.40, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

low: mod_rewrite CWE-601 open redirect (CVE-2020-1927)

Apache HTTP Server versions 2.4.0 to 2.41
Some mod_rewrite configurations vulnerable to open redirect.

Acknowledgements: The issue was discovered by Fabrice Perez

Reported to security team 5th December 2019
Issue public 1st April 2020
Affects 2.4.41, 2.4.40, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

Fixed in Apache httpd 2.4.41

low: Limited cross-site scripting in mod_proxy error page (CVE-2019-10092)

A limited cross-site scripting issue was reported affecting the mod_proxy error page. An attacker could cause the link on the error page to be malfomed and instead point to a page of their choice. This would only be exploitable where a server was set up with proxying enabled but was misconfigured in such a way that the Proxy Error page was displayed.

We have taken this opportunity to also remove request data from many other in-built error messages. Note however this issue did not affect them directly and their output was already escaped to prevent cross-site scripting attacks.

Acknowledgements: This issue was reported by Matei “Mal” Badanoiu

Reported to security team 9th July 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

low: mod_rewrite potential open redirect (CVE-2019-10098)

Redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.

Acknowledgements: The issue was discovered by Yukitsugu Sasaki

Reported to security team 26th March 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

moderate: mod_http2, read-after-free in h2 connection shutdown (CVE-2019-10082)

Using fuzzed network input, the http/2 session handling could be made to read memory after being freed, during connection shutdown.

Acknowledgements: The issue was discovered by Craig Young of Tripwire VERT, <vuln-report@secur3.us>.

Reported to security team 12th April 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

moderate: mod_http2, memory corruption on early pushes (CVE-2019-10081)

HTTP/2 very early pushes, for example configured with “H2PushResource”, could lead to an overwrite of memory in the pushing request’s pool, leading to crashes. The memory copied is that of the configured push link header values, not data supplied by the client.

Acknowledgements: The issue was discovered by Craig Young of Tripwire VERT, <vuln-report@secur3.us>.

Reported to security team 10th April 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

moderate: mod_http2, DoS attack by exhausting h2 workers. (CVE-2019-9517)

A malicious client could perform a DoS attack by flooding a connection with requests and basically never reading responses on the TCP connection. Depending on h2 worker dimensioning, it was possible to block those with relatively few connections.

Acknowledgements: The issue was discovered by Jonathan Looney of Netflix.

Reported to security team 10th April 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

moderate: CVE-2019-10097 mod_remoteip: Stack buffer overflow and NULL pointer dereference (CVE-2019-10097)

When mod_remoteip was configured to use a trusted intermediary proxy server using the “PROXY” protocol, a specially crafted PROXY header could trigger a stack buffer overflow or NULL pointer deference. This vulnerability could only be triggered by a trusted proxy and not by untrusted HTTP clients.

Acknowledgements: The issue was discovered by Daniel McCarney <cpu@letsencrypt.org> Let’s Encrypt / Internet Security Research Group (ISRG)

Reported to security team 23rd July 2019
Issue public 14th August 2019
Update Released 14th August 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33

Fixed in Apache httpd 2.4.39

important: Apache HTTP Server privilege escalation from modules’ scripts (CVE-2019-0211)

In Apache HTTP Server 2.4 releases 2.4.17 to 2.4.38, with MPM event, worker or prefork, code executing in less-privileged child processes or threads (including scripts executed by an in-process scripting interpreter) could execute arbitrary code with the privileges of the parent process (usually root) by manipulating the scoreboard. Non-Unix systems are not affected.

Acknowledgements: The issue was discovered by Charles Fol.

Reported to security team 22nd February 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

important: mod_auth_digest access control bypass (CVE-2019-0217)

In Apache HTTP Server 2.4 release 2.4.38 and prior, a race condition in mod_auth_digest when running in a threaded server could allow a user with valid credentials to authenticate using another username, bypassing configured access control restrictions.

Acknowledgements: The issue was discovered by Simon Kappel.

Reported to security team 29th January 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

important: mod_ssl access control bypass (CVE-2019-0215)

In Apache HTTP Server 2.4 releases 2.4.37 and 2.4.38, a bug in mod_ssl when using per-location client certificate verification with TLSv1.3 allowed a client supporting Post-Handshake Authentication to bypass configured access control restrictions.

Acknowledgements: The issue was discovered by Michael Kaufmann.

Reported to security team 23rd January 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37

low: mod_http2, possible crash on late upgrade (CVE-2019-0197)

When HTTP/2 was enabled for a http: host or H2Upgrade was enabled for h2 on a https: host, an Upgrade request from http/1.1 to http/2 that was not the first request on a connection could lead to a misconfiguration and crash. A server that never enabled the h2 protocol or that only enabled it for https: and did not configure the “H2Upgrade on” is unaffected by this.

Acknowledgements: The issue was discovered by Stefan Eissing, greenbytes.de.

Reported to security team 29th January 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34

low: mod_http2, read-after-free on a string compare (CVE-2019-0196)

Using fuzzed network input, the http/2 request handling could be made to access freed memory in string comparision when determining the method of a request and thus process the request incorrectly.

Acknowledgements: The issue was discovered by Craig Young, <vuln-report@secur3.us>.

Reported to security team 29th January 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

low: Apache httpd URL normalization inconsistincy (CVE-2019-0220)

When the path component of a request URL contains multiple consecutive slashes (‘/’), directives such as LocationMatch and RewriteRule must account for duplicates in regular expressions while other aspects of the servers processing will implicitly collapse them.

Acknowledgements: The issue was discovered by Bernhard Lorenz <bernhard.lorenz@alphastrike.io> of Alpha Strike Labs GmbH.

Reported to security team 20th January 2019
Issue public 1st April 2019
Update Released 1st April 2019
Affects 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

Fixed in Apache httpd 2.4.38

important: mod_ssl 2.4.37 remote DoS when used with OpenSSL 1.1.1 (CVE-2019-0190)

A bug exists in the way mod_ssl handled client renegotiations. A remote attacker could send a carefully crafted request that would cause mod_ssl to enter a loop leading to a denial of service. This bug can be only triggered with Apache HTTP Server version 2.4.37 when using OpenSSL version 1.1.1 or later, due to an interaction in changes to handling of renegotiation attempts.

Acknowledgements: The issue was discovered through user bug reports.

Reported to security team 1st January 2019
Issue public 22nd January 2019
Update Released 28th February 2019
Affects 2.4.37

low: mod_session_cookie does not respect expiry time (CVE-2018-17199)

In Apache HTTP Server 2.4 release 2.4.37 and prior, mod_session checks the session expiry time before decoding the session. This causes session expiry time to be ignored for mod_session_cookie sessions since the expiry time is loaded when the session is decoded.

Acknowledgements: The issue was discovered by Diego Angulo from ImExHS.

Reported to security team 8th October 2018
Issue public 22nd January 2019
Update Released 28th February 2019
Affects 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.4.0

low: DoS for HTTP/2 connections via slow request bodies (CVE-2018-17189)

By sending request bodies in a slow loris way to plain resources, the h2 stream for that request unnecessarily occupied a server thread cleaning up that incoming data. This affects only HTTP/2 connections. A possible mitigation is to not enable the h2 protocol.

Acknowledgements: The issue was discovered by Gal Goldshtein of F5 Networks.

Reported to security team 16th October 2018
Issue public 22nd January 2019
Update Released 28th February 2019
Affects 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

Fixed in Apache httpd 2.4.35

low: DoS for HTTP/2 connections by continuous SETTINGS (CVE-2018-11763)

By sending continous SETTINGS frames of maximum size an ongoing HTTP/2 connection could be kept busy and would never time out. This can be abused for a DoS on the server. This only affect a server that has enabled the h2 protocol.

Acknowledgements: The issue was discovered by Gal Goldshtein of F5 Networks.

Reported to security team 18th July 2018
Issue public 25th September 2018
Update Released 29th September 2018
Affects 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

Fixed in Apache httpd 2.4.34

low: DoS for HTTP/2 connections by crafted requests (CVE-2018-1333)

By specially crafting HTTP/2 requests, workers would be allocated 60 seconds longer than necessary, leading to worker exhaustion and a denial of service.

This issue only affects servers that have configured and enabled HTTP/2 support, which is not the default

Acknowledgements: The issue was discovered by Craig Young of Tripwire VERT.

Reported to security team 8th May 2018
Issue public 18th July 2018
Update Released 15th July 2018
Affects 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

moderate: mod_md, DoS via Coredumps on specially crafted requests (CVE-2018-8011)

By specially crafting HTTP requests, the mod_md challenge handler would dereference a NULL pointer and cause the child process to segfault. This could be used to DoS the server.

Acknowledgements: The issue was discovered by Daniel Caminada <daniel.caminada@ergon.ch>.

Reported to security team 29th June 2018
Issue public 18th July 2018
Update Released 15th July 2018
Affects 2.4.33

Fixed in Apache httpd 2.4.33

low: Possible out of bound read in mod_cache_socache (CVE-2018-1303)

A specially crafted HTTP request header could have crashed the Apache HTTP Server prior to version 2.4.33 due to an out of bound read while preparing data to be cached in shared memory. It could be used as a Denial of Service attack against users of mod_cache_socache.

Acknowledgements: The issue was discovered by Robert Swiecki, bug found by honggfuzz.

Reported to security team 23rd January 2018
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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

low: Possible write of after free on HTTP/2 stream shutdown (CVE-2018-1302)

When an HTTP/2 stream was destroyed after being handled, the Apache HTTP Server prior to version 2.4.33 could have written a NULL pointer potentially to an already freed memory.

The memory pools maintained by the server make this vulnerabilty hard to trigger in usual configurations, the reporter and the team could not reproduce it outside debug builds, so it is classified as low risk.

Acknowledgements: The issue was discovered by Robert Swiecki, bug found by honggfuzz.

Reported to security team 23rd January 2018
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

low: Possible out of bound access after failure in reading the HTTP request (CVE-2018-1301)

A specially crafted request could have crashed the Apache HTTP Server prior to version 2.4.33, due to an out of bound access after a size limit is reached by reading the HTTP header. This vulnerability is considered very hard if not impossible to trigger in non-debug mode (both log and build level), so it is classified as low risk for common server usage.

Acknowledgements: The issue was discovered by Robert Swiecki, bug found by honggfuzz.

Reported to security team 23rd January 2018
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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: Weak Digest auth nonce generation in mod_auth_digest (CVE-2018-1312)

When generating an HTTP Digest authentication challenge, the nonce sent to prevent reply attacks was not correctly generated using a pseudo-random seed.

In a cluster of servers using a common Digest authentication configuration, HTTP requests could be replayed across servers by an attacker without detection.

Acknowledgements: The issue was discovered by Nicolas Daniels.

Reported to security team 5th March 2013
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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: <FilesMatch> bypass with a trailing newline in the file name (CVE-2017-15715)

The expression specified in <FilesMatch> could match ‘$’ to a newline character in a malicious filename, rather than matching only the end of the filename.

This could be exploited in environments where uploads of some files are are externally blocked, but only by matching the trailing portion of the filename.

Acknowledgements: The issue was discovered by Elar Lang – security.elarlang.eu

Reported to security team 24th November 2017
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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: Out of bound write in mod_authnz_ldap when using too small Accept-Language values (CVE-2017-15710)

mod_authnz_ldap, if configured with AuthLDAPCharsetConfig, uses the Accept-Language header value to lookup the right charset encoding when verifying the user’s credentials.

If the header value is not present in the charset conversion table, a fallback mechanism is used to truncate it to a two characters value to allow a quick retry (for example, ‘en-US’ is truncated to ‘en’). A header value of less than two characters forces an out of bound write of one NUL byte to a memory location that is not part of the string. In the worst case, quite unlikely, the process would crash which could be used as a Denial of Service attack. In the more likely case, this memory is already reserved for future use and the issue has no effect at all.

Acknowledgements: The Apache HTTP Server security team would like to thank Alex Nichols and Jakob Hirsch for reporting this issue.

Reported to security team 7th December 2017
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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

moderate: Tampering of mod_session data for CGI applications (CVE-2018-1283)

When mod_session is configured to forward its session data to CGI applications (SessionEnv on, not the default), a remote user may influence their content by using a “Session” header.

This comes from the “HTTP_SESSION” variable name used by mod_session to forward its data to CGIs, since the prefix “HTTP_” is also used by the Apache HTTP Server to pass HTTP header fields, per CGI specifications.

The severity is set to Moderate because “SessionEnv on” is not a default nor common configuration, it should be considered more severe when this is the case though, because of the possible remote exploitation.

Acknowledgements: The issue was discovered internally by the Apache HTTP Server team.

Reported to security team 14th November 2017
Issue public 21st March 2018
Update Released 21st March 2018
Affects 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 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.28

low: Use-after-free when using <Limit > with an unrecognized method in .htaccess (“OptionsBleed”) (CVE-2017-9798)

When an unrecognized HTTP Method is given in an <Limit {method}> directive in an .htaccess file, and that .htaccess file is processed by the corresponding request, the global methods table is corrupted in the current worker process, resulting in erratic behaviour.

This behavior may be avoided by listing all unusual HTTP Methods in a global httpd.conf RegisterHttpMethod directive in httpd release 2.4.25 and later.

To permit other .htaccess directives while denying the <Limit > directive, see the AllowOverrideList directive.

Source code patch (2.4) is at;

Source code patch (2.2) is at;

Note 2.2 is end-of-life, no further release with this fix is planned. Users are encouraged to migrate to 2.4.28 or later for this and other fixes.

Acknowledgements: We would like to thank Hanno Böck for reporting this issue.

Reported to security team 12th July 2017
Issue public 18th September 2017
Update Released 5th October 2017
Affects 2.4.27, 2.4.26, 2.4.25, 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.27

important: Read after free in mod_http2 (CVE-2017-9789)

When under stress, closing many connections, the HTTP/2 handling code would sometimes access memory after it has been freed, resulting in potentially erratic behaviour.

Acknowledgements: We would like to thank Robert Święcki for reporting this issue.

Reported to security team 30th June 2017
Issue public 11th July 2017
Update Released 11th July 2017
Affects 2.4.26

important: Uninitialized memory reflection in mod_auth_digest (CVE-2017-9788)

The value placeholder in [Proxy-]Authorization headers of type ‘Digest’ was not initialized or reset before or between successive key=value assignments. by mod_auth_digest.

Providing an initial key with no ‘=’ assignment could reflect the stale value of uninitialized pool memory used by the prior request, leading to leakage of potentially confidential information, and a segfault.

Acknowledgements: We would like to thank Robert Święcki for reporting this issue.

Reported to security team 28th June 2017
Issue public 11th July 2017
Update Released 11th July 2017
Affects 2.4.26, 2.4.25, 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.26

important: ap_get_basic_auth_pw() Authentication Bypass (CVE-2017-3167)

Use of the ap_get_basic_auth_pw() by third-party modules outside of the authentication phase may lead to authentication requirements being bypassed.

Third-party module writers SHOULD use ap_get_basic_auth_components(), available in 2.2.34 and 2.4.26, instead of ap_get_basic_auth_pw(). Modules which call the legacy ap_get_basic_auth_pw() during the authentication phase MUST either immediately authenticate the user after the call, or else stop the request immediately with an error response, to avoid incorrectly authenticating the current request.

Acknowledgements: We would like to thank Emmanuel Dreyfus for reporting this issue.

Reported to security team 6th February 2017
Issue public 19th June 2017
Update Released 19th June 2017
Affects 2.4.25, 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

important: mod_ssl Null Pointer Dereference (CVE-2017-3169)

mod_ssl may dereference a NULL pointer when third-party modules call ap_hook_process_connection() during an HTTP request to an HTTPS port.

Acknowledgements: We would like to thank Vasileios Panopoulos and AdNovum Informatik AG for reporting this issue.

Reported to security team 5th December 2016
Issue public 19th June 2017
Update Released 19th June 2017
Affects 2.4.25, 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

important: mod_http2 Null Pointer Dereference (CVE-2017-7659)

A maliciously constructed HTTP/2 request could cause mod_http2 to dereference a NULL pointer and crash the server process.

Acknowledgements: We would like to thank Robert Święcki for reporting this issue.

Reported to security team 18th November 2016
Issue public 19th June 2017
Update Released 19th June 2017
Affects 2.4.25

important: ap_find_token() Buffer Overread (CVE-2017-7668)

The HTTP strict parsing changes added in 2.2.32 and 2.4.24 introduced a bug in token list parsing, which allows ap_find_token() to search past the end of its input string. By maliciously crafting a sequence of request headers, an attacker may be able to cause a segmentation fault, or to force ap_find_token() to return an incorrect value.

Acknowledgements: We would like to thank Javier Jiménez (javijmor@gmail.com) for reporting this issue.

Reported to security team 6th May 2017
Issue public 19th June 2017
Update Released 19th June 2017
Affects 2.4.25

important: mod_mime Buffer Overread (CVE-2017-7679)

mod_mime can read one byte past the end of a buffer when sending a malicious Content-Type response header.

Acknowledgements: We would like to thank ChenQin and Hanno Böck for reporting this issue.

Reported to security team 15th November 2015
Issue public 19th June 2017
Update Released 19th June 2017
Affects 2.4.25, 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.25

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

Apache HTTP Server, prior to release 2.4.25 (2.2.32), 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

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

moderate: mod_userdir CRLF injection (CVE-2016-4975)

Possible CRLF injection allowing HTTP response splitting attacks for sites which use mod_userdir. This issue was mitigated by changes made in 2.4.25 and 2.2.32 which prohibit CR or LF injection into the “Location” or other outbound header key or value.

Acknowledgements: The issue was discovered by Sergey Bobrov

Reported to security team 24th July 2016
Issue public 14th August 2018
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 asf-httpoxy-response.txt and incorporated in the 2.4.25 and 2.2.32 releases.

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 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

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 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_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 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

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.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.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)

Common Vulnerabilityies and Exposures

Contact us to get started

CVE-2024-22144 : ELI SCHEETZ ANTI-MALWARE SECURITY AND BRUTE-FORCE FIREWALL PLUGIN CODE INJECTION

CVE-2024-22144 : ELI SCHEETZ ANTI-MALWARE SECURITY AND BRUTE-FORCE FIREWALL PLUGIN CODE INJECTION

Description Improper Control of Generation of Code (‘Code Injection’) vulnerability in Eli Scheetz Anti-Malware Security and Brute-Force Firewall gotmls allows

CVE-2024-26922 : LINUX KERNEL UP TO 6.9-RC4 AMDGPU PRIVILEGE ESCALATION

CVE-2024-26922 : LINUX KERNEL UP TO 6.9-RC4 AMDGPU PRIVILEGE ESCALATION

Description In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: validate the parameters of bo mapping operations more

CVE-2024-21511 : MYSQL2 UP TO 3.9.6 READCODEFOR TIMEZONE CODE INJECTION

CVE-2024-21511 : MYSQL2 UP TO 3.9.6 READCODEFOR TIMEZONE CODE INJECTION

Description Versions of the package mysql2 before 3.9.7 are vulnerable to Arbitrary Code Injection due to improper sanitization of the