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 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.
Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server allows an attacker to smuggle requests to the AJP server it forwards requests to. This issue affects Apache HTTP Server Apache HTTP Server 2.4 version 2.4.53 and prior versions.
Acknowledgements: Ricter Z @ 360 Noah Lab
Reported to security team | 2022-03-02 |
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
Apache HTTP Server 2.4.53 and earlier on Windows may read beyond bounds when configured to process requests with the mod_isapi module.
Acknowledgements: The Apache HTTP Server project would like to thank Ronald Crane (Zippenhop LLC) for reporting this issue
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
The ap_rwrite() function in Apache HTTP Server 2.4.53 and earlier may read unintended memory if an attacker can cause the server to reflect very large input using ap_rwrite() or ap_rputs(), such as with mod_luas r:puts() function.
Modules compiled and distributed separately from Apache HTTP Server that use the "ap_rputs" function and may pass it a very large (INT_MAX or larger) string must be compiled against current headers to resolve the issue.
Acknowledgements: The Apache HTTP Server project would like to thank Ronald Crane (Zippenhop LLC) for reporting this issue
Update released in 2.4.54 | 2022-06-08 |
Affects | <=2.4.53 |
Apache HTTP Server 2.4.53 and earlier may crash or disclose information due to a read beyond bounds in ap_strcmp_match() when provided with an extremely large input buffer. While no code distributed with the server can be coerced into such a call, third-party modules or lua scripts that use ap_strcmp_match() may hypothetically be affected.
Acknowledgements: The Apache HTTP Server project would like to thank Ronald Crane (Zippenhop LLC) for reporting this issue
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
In Apache HTTP Server 2.4.53 and earlier, a malicious request to a lua script that calls r:parsebody(0) may cause a denial of service due to no default limit on possible input size.
Acknowledgements: The Apache HTTP Server project would like to thank Ronald Crane (Zippenhop LLC) for reporting this issue
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
If Apache HTTP Server 2.4.53 is configured to do transformations with mod_sed in contexts where the input to mod_sed may be very large, mod_sed may make excessively large memory allocations and trigger an abort.
Acknowledgements: This issue was found by Brian Moussalli from the JFrog Security Research team
Update 2.4.54 released | 2022-06-08 |
Affects | 2.4.53 |
Apache HTTP Server 2.4.53 and earlier may return lengths to applications calling r:wsread() that point past the end of the storage allocated for the buffer.
Acknowledgements: The Apache HTTP Server project would like to thank Ronald Crane (Zippenhop LLC) for reporting this issue
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
Apache HTTP Server 2.4.53 and earlier may not send the X-Forwarded-* headers to the origin server based on client side Connection header hop-by-hop mechanism.
This may be used to bypass IP based authentication on the origin server/application.
Acknowledgements: The Apache HTTP Server project would like to thank Gaetan Ferry (Synacktiv) for reporting this issue
Update 2.4.54 released | 2022-06-08 |
Affects | <=2.4.53 |
A carefully crafted request body can cause a read to a random memory area which could cause the process to crash.
This issue affects Apache HTTP Server 2.4.52 and earlier.
Acknowledgements: Chamal De Silva
Reported to security team | 2021-12-18 |
fixed by r1898694 in 2.4.x | 2022-03-07 |
Update 2.4.53 released | 2022-03-14 |
Affects | <=2.4.52 |
Apache HTTP Server 2.4.52 and earlier fails to close inbound connection when errors are encountered discarding the request body, exposing the server to HTTP Request Smuggling
Acknowledgements: James Kettle <james.kettle portswigger.net>
Reported to security team | 2021-12-17 |
fixed by r1898692 in 2.4.x | 2022-03-07 |
Update 2.4.53 released | 2022-03-14 |
Affects | <=2.4.52 |
If LimitXMLRequestBody is set to allow request bodies larger than 350MB (defaults to 1M) on 32 bit systems an integer overflow happens which later causes out of bounds writes.
This issue affects Apache HTTP Server 2.4.52 and earlier.
Acknowledgements: Anonymous working with Trend Micro Zero Day Initiative
Reported to security team | 2021-12-16 |
fixed by r1898693 in 2.4.x | 2022-03-07 |
Update 2.4.53 released | 2022-03-14 |
Affects | <=2.4.52 |
Out-of-bounds Write vulnerability in mod_sed of Apache HTTP Server allows an attacker to overwrite heap memory with possibly attacker provided data.
This issue affects Apache HTTP Server 2.4 version 2.4.52 and prior versions.
Acknowledgements: Ronald Crane (Zippenhop LLC)
Reported to security team | 2022-01-13 |
fixed by r1898695, r1898772 in 2.4.x | 2022-03-09 |
Update 2.4.53 released | 2022-03-14 |
Affects | <=2.4.52 |
A crafted URI sent to httpd configured as a forward proxy (ProxyRequests on) can cause a crash (NULL pointer dereference) or, for configurations mixing forward and reverse proxy declarations, can allow for requests to be directed to a declared Unix Domain Socket endpoint (Server Side Request Forgery).
This issue affects Apache HTTP Server 2.4.7 up to 2.4.51 (included).
Acknowledgements:
Reported to security team | 2021-11-18 |
fixed by r1895955, r1896044 in 2.4.x | 2021-12-14 |
Update 2.4.52 released | 2021-12-20 |
Affects | >=2.4.7, <=2.4.51 |
A carefully crafted request body can cause a buffer overflow in the mod_lua multipart parser (r:parsebody() called from Lua scripts).
The Apache httpd team is not aware of an exploit for the vulnerabilty though it might be possible to craft one.
This issue affects Apache HTTP Server 2.4.51 and earlier.
Acknowledgements: Chamal
Reported to security team | 2021-12-07 |
Fixed by r1896039 in 2.4.x | 2021-12-16 |
Update 2.4.52 released | 2021-12-20 |
Affects | <=2.4.51 |
It was found that the fix for CVE-2021-41773 in Apache HTTP Server 2.4.50 was insufficient. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives.
If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution.
This issue only affects Apache 2.4.49 and Apache 2.4.50 and not earlier versions.
Acknowledgements:
Reported to security team | 2021-10-06 |
fixed by r1893977, r1893980, r1893982 in 2.4.x | 2021-10-07 |
Update 2.4.51 released | 2021-10-07 |
Affects | 2.4.50, 2.4.49 |
While fuzzing the 2.4.49 httpd, a new null pointer dereference was detected during HTTP/2 request processing,
allowing an external source to DoS the server. This requires a specially crafted request.
The vulnerability was recently introduced in version 2.4.49. No exploit is known to the project.
Acknowledgements: Apache httpd team would like to thank LI ZHI XIN from NSFocus Security Team for reporting this issue.
Reported to security team | 2021-09-17 |
fixed by r1893655 in 2.4.x | 2021-09-26 |
Update 2.4.50 released | 2021-10-04 |
Affects | 2.4.49 |
A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives.
If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution.
This issue is known to be exploited in the wild.
This issue only affects Apache 2.4.49 and not earlier versions.
Acknowledgements: This issue was reported by Ash Daulton along with the cPanel Security Team
Reported to security team | 2021-09-29 |
fixed by r1893775 in 2.4.x | 2021-10-01 |
Update 2.4.50 released | 2021-10-04 |
Affects | 2.4.49 |
A crafted method sent through HTTP/2 will bypass validation and be forwarded by mod_proxy, which can lead to request splitting or cache poisoning.
This issue affects Apache HTTP Server 2.4.17 to 2.4.48.
Acknowledgements: Reported by James Kettle of PortSwigger
Reported to security team | 2021-05-11 |
Issue public | 2021-08-06 |
Update 2.4.49 released | 2021-09-16 |
Affects | <=2.4.48, !<2.4.17 |
Malformed requests may cause the server to dereference a NULL pointer.
This issue affects Apache HTTP Server 2.4.48 and earlier.
Acknowledgements: The issue was discovered by the Apache HTTP security team
Update 2.4.49 released | 2021-09-16 |
Affects | <=2.4.48 |
A carefully crafted request uri-path can cause mod_proxy_uwsgi to read above the allocated memory and crash (DoS).
This issue affects Apache HTTP Server versions 2.4.30 to 2.4.48 (inclusive).
Acknowledgements: LI ZHI XIN from NSFocus Security Team
Reported to security team | 2021-04-26 |
Update 2.4.49 release | 2021-09-16 |
Affects | <=2.4.48, !<2.4.30 |
ap_escape_quotes() may write beyond the end of a buffer when given malicious input.
No included modules pass untrusted data to these functions, but third-party / external modules may.
This issue affects Apache HTTP Server 2.4.48 and earlier.
Acknowledgements: ClusterFuzz
Update 2.4.49 released | 2021-09-16 |
Affects | <=2.4.48 |
A crafted request uri-path can cause mod_proxy to forward the request to an origin server choosen by the remote user.
This issue affects Apache HTTP Server 2.4.48 and earlier.
Acknowledgements: The issue was discovered by the Apache HTTP security team while analysing CVE-2021-36160
Update 2.4.49 released | 2021-09-16 |
Affects | <=2.4.48 |
Apache HTTP Server versions 2.4.6 to 2.4.46 mod_proxy_wstunnel configured on an URL that is not necessarily Upgraded by the origin server was tunneling the whole connection regardless, thus allowing for subsequent requests on the same connection to pass through with no HTTP validation, authentication or authorization possibly configured.
Acknowledgements: Reported by Mikhail Egorov (<0ang3el gmail.com>)
Reported to security team | 2019-10-05 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 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, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6 |
Apache HTTP Server versions 2.4.0 to 2.4.46 Unprivileged local users can stop httpd on Windows
Acknowledgements: Discovered by Ivan Zhakov
Reported to security team | 2021-01-26 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 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, 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 |
Apache HTTP Server versions 2.4.41 to 2.4.46 mod_proxy_http can be made to crash (NULL pointer dereference) with specially crafted requests using both Content-Length and Transfer-Encoding headers, leading to a Denial of Service
Acknowledgements: Reported by Marc Stern (<marc.stern approach.be>)
Reported to security team | 2020-09-11 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41 |
Apache HTTP Server versions 2.4.0 to 2.4.46 A specially crafted Digest nonce can cause a stack overflow in mod_auth_digest. There is no report of this overflow being exploitable, nor the Apache HTTP Server team could create one, though some particular compiler and/or compilation option might make it possible, with limited consequences anyway due to the size (a single byte) and the value (zero byte) of the overflow
Acknowledgements: This issue was discovered and reported by GHSL team member @antonio-morales (Antonio Morales)
Reported to security team | 2020-11-11 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 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, 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 |
Apache HTTP Server versions 2.4.0 to 2.4.46 A specially crafted Cookie header handled by mod_session can cause a NULL pointer dereference and crash, leading to a possible Denial Of Service
Acknowledgements: This issue was discovered and reported by GHSL team member @antonio-morales (Antonio Morales)
Reported to security team | 2021-02-08 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 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, 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 |
Apache HTTP Server versions 2.4.0 to 2.4.46 A specially crafted SessionHeader sent by an origin server could cause a heap overflow
Acknowledgements: Discovered internally Christophe Jaillet
Reported to security team | 2021-03-01 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 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, 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 |
Apache HTTP Server versions 2.4.39 to 2.4.46 Unexpected matching behavior with 'MergeSlashes OFF'
Acknowledgements: Discovered by Christoph Anton Mitterer
Reported to security team | 2021-04-14 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.46, 2.4.43, 2.4.41, 2.4.39 |
Apache HTTP Server protocol handler for the HTTP/2 protocol checks received request headers against the size limitations as configured for the server and used for the HTTP/1 protocol as well. On violation of these restrictions and HTTP response is sent to the client with a status code indicating why the request was rejected.
This rejection response was not fully initialised in the HTTP/2 protocol handler if the offending header was the very first one received or appeared in a a footer. This led to a NULL pointer dereference on initialised memory, crashing reliably the child process. Since such a triggering HTTP/2 request is easy to craft and submit, this can be exploited to DoS the server.
This issue affected mod_http2 1.15.17 and Apache HTTP Server version 2.4.47 only. Apache HTTP Server 2.4.47 was never released.
Acknowledgements: Apache HTTP server would like to thank LI ZHI XIN from NSFoucs for reporting this.
Reported to security team | 2021-04-22 |
Issue public | 2021-06-01 |
Update 2.4.48 released | 2021-06-01 |
Affects | 2.4.47 |
In Apache HTTP Server versions 2.4.20 to 2.4.43, a specially crafted value for the 'Cache-Digest' header in a HTTP/2 request would result in a crash when the server actually tries to HTTP/2 PUSH a resource afterwards. Configuring the HTTP/2 feature via "H2Push off" will mitigate this vulnerability for unpatched servers.
Acknowledgements: Felix Wilhelm of Google Project Zero
Reported to security team | 2020-04-24 |
Issue public | 2020-08-07 |
Update 2.4.44 released | 2020-08-07 |
Affects | 2.4.43, 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 |
In Apache HTTP Server versions 2.4.32 to 2.4.43, mod_proxy_uwsgi has a information disclosure and possible RCE
Acknowledgements: Discovered by Felix Wilhelm of Google Project Zero
Reported to security team | 2020-07-22 |
Issue public | 2020-08-07 |
Update 2.4.44 released | 2020-08-07 |
Affects | 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33 |
In Apache HTTP Server versions 2.4.20 to 2.4.43, when trace/debug was enabled for the HTTP/2 module and on certain traffic edge patterns, logging statements were made on the wrong connection, causing concurrent use of memory pools.
Configuring the LogLevel of mod_http2 above "info" will mitigate this vulnerability for unpatched servers.
Acknowledgements: Felix Wilhelm of Google Project Zero
Reported to security team | 2020-06-16 |
Issue public | 2020-08-07 |
Update 2.4.44 released | 2020-08-07 |
Affects | 2.4.43, 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 |
In Apache HTTP Server versions 2.4.0 to 2.4.41 some mod_rewrite configurations vulnerable to open redirect.
Acknowledgements: The issue was discovered by Fabrice Perez
Reported to security team | 2019-12-05 |
Issue public | 2020-04-01 |
Update 2.4.42 released | 2020-04-01 |
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 |
in Apache HTTP Server versions 2.4.0 to 2.4.41, mod_proxy_ftp use of uninitialized value with malicious FTP backend.
Acknowledgements: The issue was discovered by Chamal De Silva
Reported to security team | 2020-01-03 |
Issue public | 2020-04-01 |
Update 2.4.42 released | 2020-04-01 |
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 |
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 | 2019-04-10 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
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 |
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 | 2019-04-10 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
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 |
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 | 2019-04-12 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
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 |
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 | 2019-07-09 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
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 |
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 | 2019-07-23 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
Affects | 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33 |
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 | 2019-03-26 |
Issue public | 2019-08-14 |
Update 2.4.41 released | 2019-08-14 |
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 |
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 | 2019-01-29 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
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 |
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 | 2019-01-29 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
Affects | 2.4.38, 2.4.37, 2.4.35, 2.4.34 |
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 | 2019-02-22 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
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 |
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 | 2019-01-23 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
Affects | 2.4.38, 2.4.37 |
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 | 2019-01-29 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
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 |
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 | 2019-01-20 |
Issue public | 2019-04-01 |
Update 2.4.39 released | 2019-04-01 |
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 |
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 | 2018-10-16 |
Issue public | 2019-01-22 |
Update 2.4.38 released | 2019-02-28 |
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 |
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 | 2018-10-08 |
Issue public | 2019-01-22 |
Update 2.4.38 released | 2019-02-28 |
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 |
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 | 2019-01-01 |
Issue public | 2019-01-22 |
Update 2.4.38 released | 2019-02-28 |
Affects | 2.4.37 |
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 | 2018-07-18 |
Issue public | 2018-09-25 |
Update 2.4.35 released | 2018-09-29 |
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 |
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 | 2018-05-08 |
Issue public | 2018-07-18 |
Update 2.4.34 released | 2018-07-15 |
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 |
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 | 2018-06-29 |
Issue public | 2018-07-18 |
Update 2.4.34 released | 2018-07-15 |
Affects | 2.4.33 |
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 | 2017-12-07 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2017-11-24 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2017-11-14 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2018-01-23 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2018-01-23 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2018-01-23 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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 | 2013-03-05 |
Issue public | 2018-03-21 |
Update 2.4.33 released | 2018-03-21 |
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 |
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; CVE-2017-9798-patch-2.4.patch Source code patch (2.2) is at; CVE-2017-9798-patch-2.2.patch 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 | 2017-07-12 |
Issue public | 2017-09-18 |
Update 2.4.28 released | 2017-10-05 |
Update 2.2.35-never released | -- |
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, 2.2.34, 2.2.32, 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 |
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 | 2017-06-28 |
Issue public | 2017-07-11 |
Update 2.4.27 released | 2017-07-11 |
Update 2.2.34 released | 2017-07-11 |
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, 2.2.32, 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 |
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 | 2017-06-30 |
Issue public | 2017-07-11 |
Update 2.4.27 released | 2017-07-11 |
Affects | 2.4.26 |
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 | 2017-02-06 |
Issue public | 2017-06-19 |
Update 2.4.26 released | 2017-06-19 |
Update 2.2.34 released | 2017-07-11 |
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, 2.2.32, 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 |
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 | 2016-12-05 |
Issue public | 2017-06-19 |
Update 2.4.26 released | 2017-06-19 |
Update 2.2.34 released | 2017-07-11 |
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, 2.2.32, 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 |
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 | 2016-11-18 |
Issue public | 2017-06-19 |
Update 2.4.26 released | 2017-06-19 |
Affects | 2.4.25 |
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 | 2017-05-06 |
Issue public | 2017-06-19 |
Update 2.4.26 released | 2017-06-19 |
Update 2.2.34 released | 2017-07-11 |
Affects | 2.4.25, 2.2.32 |
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 | 2015-11-15 |
Issue public | 2017-06-19 |
Update 2.4.26 released | 2017-06-19 |
Update 2.2.34 released | 2017-07-11 |
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, 2.2.32, 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 |
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 | 2016-01-20 |
Issue public | 2016-12-20 |
Update 2.4.25 released | 2016-12-20 |
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 |
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 | 2016-07-11 |
Issue public | 2016-12-20 |
Update 2.4.25 released | 2016-12-20 |
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 |
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 | 2016-07-24 |
Issue public | 2018-08-14 |
Update 2.4.25 released | 2016-12-20 |
Update 2.2.32 released | 2017-01-13 |
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 |
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 | 2016-07-02 |
Issue public | 2016-07-18 |
Update 2.4.25 released | 2016-12-20 |
Update 2.2.32 released | 2016-07-18 |
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 |
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 | 2016-11-22 |
Issue public | 2016-12-04 |
Update 2.4.25 released | 2016-12-20 |
Affects | 2.4.23, 2.4.20, 2.4.18, 2.4.17 |
Apache HTTP Server, prior to release 2.4.25 (and 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; HttpProtocolOptions Strict 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 | 2016-02-10 |
Issue public | 2016-12-20 |
Update 2.4.25 released | 2016-12-20 |
Update 2.2.32 released | 2017-01-13 |
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 |
For configurations using proxying with mod_remoteip and certain mod_rewrite rules, an attacker could spoof their IP address for logging and PHP scripts. Note this issue was fixed in Apache HTTP Server 2.4.24 but was retrospectively allocated a low severity CVE in 2020.
Acknowledgements:
Reported to security team | 2016-10-13 |
Issue public | 2020-08-07 |
Update 2.4.25 released | 2020-08-07 |
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 |
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 | 2016-06-30 |
Issue public | 2016-07-05 |
Update 2.4.23 released | 2016-07-05 |
Affects | 2.4.20, 2.4.18 |
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 | 2016-02-02 |
Issue public | 2016-04-11 |
Update 2.4.20 released | 2016-04-11 |
Affects | 2.4.18, 2.4.17 |
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 | 2015-01-28 |
Issue public | 2015-02-04 |
Update 2.4.16 released | 2015-07-15 |
Affects | 2.4.12, 2.4.10, 2.4.9, 2.4.7 |
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 | 2015-02-03 |
Issue public | 2015-03-05 |
Update 2.4.16 released | 2015-07-15 |
Affects | 2.4.12 |
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 | 2015-04-04 |
Issue public | 2015-06-09 |
Update 2.4.16 released | 2015-07-15 |
Update 2.2.31 released | 2015-07-16 |
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, 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 |
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 | 2013-08-05 |
Issue public | 2015-06-09 |
Update 2.4.16 released | 2015-07-15 |
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 |
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 | 2013-09-06 |
Issue public | 2013-10-19 |
Update 2.4.12 released | 2015-01-30 |
Update 2.2.29 released | 2014-09-03 |
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, 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 |
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.
Reported to security team | 2014-09-08 |
Issue public | 2014-09-08 |
Update 2.4.12 released | 2015-01-30 |
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 |
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 | 2014-09-17 |
Issue public | 2014-11-12 |
Update 2.4.12 released | 2015-01-30 |
Affects | 2.4.10 |
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.
Reported to security team | 2014-11-09 |
Issue public | 2014-11-09 |
Update 2.4.12 released | 2015-01-30 |
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 |
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 | 2014-04-07 |
Issue public | 2014-07-15 |
Update 2.4.10 released | 2014-07-15 |
Affects | 2.4.9, 2.4.7, 2.4.6 |
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 | 2014-02-19 |
Issue public | 2014-07-14 |
Update 2.4.10 released | 2014-07-15 |
Update 2.2.29 released | 2014-09-03 |
Affects | 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2014-05-30 |
Issue public | 2014-07-14 |
Update 2.4.10 released | 2014-07-15 |
Update 2.2.29 released | 2014-09-03 |
Affects | 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2014-06-16 |
Issue public | 2014-07-14 |
Update 2.4.10 released | 2014-07-15 |
Update 2.2.29 released | 2014-09-03 |
Affects | 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2014-07-01 |
Issue public | 2014-07-15 |
Update 2.4.10 released | 2014-07-15 |
Affects | 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1 |
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 | 2013-12-10 |
Issue public | 2014-03-17 |
Update 2.4.9 released | 2014-03-17 |
Update 2.2.27 released | 2014-03-26 |
Affects | 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2014-02-25 |
Issue public | 2014-03-17 |
Update 2.4.9 released | 2014-03-17 |
Update 2.2.27 released | 2014-03-26 |
Affects | 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2013-09-14 |
Issue public | 2014-07-14 |
Update 2.4.7 released | 2013-11-26 |
Affects | 2.4.6 |
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 | 2013-03-07 |
Issue public | 2013-05-23 |
Update 2.4.6 released | 2013-07-22 |
Update 2.2.25 released | 2013-07-22 |
Affects | 2.4.4, 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2013-05-29 |
Issue public | 2013-07-22 |
Update 2.4.6 released | 2013-07-22 |
Affects | 2.4.4, 2.4.3, 2.4.2, 2.4.1 |
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 | 2012-07-11 |
Issue public | 2013-02-18 |
Update 2.4.4 released | 2013-02-25 |
Update 2.2.24 released | 2013-02-25 |
Affects | 2.4.3, 2.4.2, 2.4.1, 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 |
A XSS flaw affected the mod_proxy_balancer manager interface.
Acknowledgements: This issue was reported by Niels Heinen of Google
Reported to security team | 2012-10-07 |
Issue public | 2013-02-18 |
Update 2.4.4 released | 2013-02-25 |
Update 2.2.24 released | 2013-02-25 |
Affects | 2.4.3, 2.4.2, 2.4.1, 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 |
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 | 2012-05-31 |
Issue public | 2012-06-13 |
Update 2.2.23 released | 2012-09-13 |
Update 2.4.3 released | 2012-08-21 |
Affects | 2.4.2, 2.4.1, 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 |
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.
Reported to security team | 2012-08-16 |
Issue public | 2012-08-16 |
Update 2.4.3 released | 2012-08-21 |
Affects | 2.4.2, 2.4.1 |
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 | 2012-02-14 |
Issue public | 2012-03-02 |
Update 2.4.2 released | 2012-04-17 |
Update 2.2.23 released | 2012-09-13 |
Affects | 2.4.1, 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 |