Topic : | Apache (mod_deflate) Denial of Service Vulnerability
|
SecurityAlert : 6054
CVE : CVE-2009-1891
CWE : CWE-399
SecurityRisk : Low (About)
Remote Exploit : Yes
Local Exploit : No
Victim interaction required : No
Exploit Available : No
Credit : François Guerraz
Published : 12.07.2009
Updated : 13.07.2009
Affected Software : | apache:http_server:2.2.1
apache:http_server:2.2.0
apache:http_server:2.2
apache:http_server:2.2.10
apache:http_server:2.2.2
apache:http_server:2.2.3
apache:http_server:2.2.4
apache:http_server:2.2.5
apache:http_server:2.2.6
apache:http_server:2.2.7
apache:http_server:2.2.8
apache:http_server:2.2.9
apache:http_server:2.2.11 and previous versions |
 Advisory Content : Hi,
we have received a bug report [1] that a DoS is possible with
mod_deflate since it does not stop to compress large files even after
the network connection has been closed. This allows to use large
amounts of CPU if there is a largish (>10 MB) file available that has
mod_deflate enabled.
An exploit is as easy as
for a in $(seq 1 100) ; do
curl -H "Accept-Encoding: gzip" -is http://url.to/large/file.txt |
head -1 ; done
François Guerraz, the bug submitter, also suggested a patch:
--- mod_deflate.c 2008-01-04 15:23:50.000000000 +0100
+++ mod_deflate.c.new 2009-06-26 16:50:36.000000000 +0200
@@ -691,6 +691,10 @@
continue;
}
+ if (r->connection->aborted) {
+ return APR_ECONNABORTED;
+ }
+
/* read */
apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
This greatly reduces the problem. But even with it, quite a bit of
data is compressed (maybe determined by APR_MMAP_LIMIT == 4MB?).
Cheers,
Stefan
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534712
References :
https://rhn.redhat.com/errata/RHSA-2009-1148.html
https://bugzilla.redhat.com/show_bug.cgi?id=509125
http://www.mandriva.com/security/advisories?name=MDVSA-2009:149
http://marc.info/?l=apache-httpd-dev&m=124661528519546&w=2
http://marc.info/?l=apache-httpd-dev&m=124621326524824&w=2
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534712
Feedback :
If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
|