Add patch from the Apache SVN repository to fix the information leak
in the "mod_proxy_ajp" module reported in CVE-2009-1191.
This commit is contained in:
parent
85070e27cf
commit
07188a51e5
3 changed files with 44 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
|||
# $NetBSD: Makefile,v 1.42 2009/04/24 11:21:16 seb Exp $
|
||||
# $NetBSD: Makefile,v 1.43 2009/05/22 09:46:06 tron Exp $
|
||||
|
||||
DISTNAME= httpd-2.2.11
|
||||
PKGREVISION= 2
|
||||
PKGREVISION= 3
|
||||
PKGNAME= ${DISTNAME:S/httpd/apache/}
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= ${MASTER_SITE_APACHE:=httpd/} \
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
$NetBSD: distinfo,v 1.17 2009/02/15 23:14:40 rillig Exp $
|
||||
$NetBSD: distinfo,v 1.18 2009/05/22 09:46:06 tron Exp $
|
||||
|
||||
SHA1 (httpd-2.2.11.tar.bz2) = 7af256d53b79342f82222bd7b86eedbd9ac21d9a
|
||||
RMD160 (httpd-2.2.11.tar.bz2) = b2012af716a459f666e0e41eb04808bd0f7fc28d
|
||||
Size (httpd-2.2.11.tar.bz2) = 5230130 bytes
|
||||
SHA1 (patch-aa) = 40f5f687a1217b8d6684dc610d3d4c430f635cbf
|
||||
SHA1 (patch-ab) = d5391ca1af9d817d35cb472b0feb05b86a95e560
|
||||
SHA1 (patch-ac) = 515043b5c215d49fe8f6d3191b502c978e2a2dad
|
||||
SHA1 (patch-ad) = 088d6ff0e7a8acfe70b4f85a6ce58d42c935fd13
|
||||
SHA1 (patch-ae) = 86b307d6eefef232b6223afc3f69e64be40bd913
|
||||
|
|
40
www/apache22/patches/patch-ab
Normal file
40
www/apache22/patches/patch-ab
Normal file
|
@ -0,0 +1,40 @@
|
|||
$NetBSD: patch-ab,v 1.10 2009/05/22 09:46:06 tron Exp $
|
||||
|
||||
Patch for CVE-2009-1191 taken from the Apache SVN repository:
|
||||
http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_ajp.c?view=markup&pathrev=768506
|
||||
|
||||
--- modules/proxy/mod_proxy_ajp.c 2008/11/15 14:25:54 714273
|
||||
+++ modules/proxy/mod_proxy_ajp.c 2009/04/25 09:58:52 768506
|
||||
@@ -307,21 +307,17 @@
|
||||
"proxy: read zero bytes, expecting"
|
||||
" %" APR_OFF_T_FMT " bytes",
|
||||
content_length);
|
||||
- status = ajp_send_data_msg(conn->sock, msg, 0);
|
||||
- if (status != APR_SUCCESS) {
|
||||
- /* We had a failure: Close connection to backend */
|
||||
- conn->close++;
|
||||
- ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
|
||||
- "proxy: send failed to %pI (%s)",
|
||||
- conn->worker->cp->addr,
|
||||
- conn->worker->hostname);
|
||||
- return HTTP_INTERNAL_SERVER_ERROR;
|
||||
- }
|
||||
- else {
|
||||
- /* Client send zero bytes with C-L > 0
|
||||
- */
|
||||
- return HTTP_BAD_REQUEST;
|
||||
- }
|
||||
+ /*
|
||||
+ * We can only get here if the client closed the connection
|
||||
+ * to us without sending the body.
|
||||
+ * Now the connection is in the wrong state on the backend.
|
||||
+ * Sending an empty data msg doesn't help either as it does
|
||||
+ * not move this connection to the correct state on the backend
|
||||
+ * for later resusage by the next request again.
|
||||
+ * Close it to clean things up.
|
||||
+ */
|
||||
+ conn->close++;
|
||||
+ return HTTP_BAD_REQUEST;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in a new issue