Apache Warns Web Server Admins of DoS Attack Tool
CWmike writes "Developers of the Apache open-source project warned users of the Web server software on Wednesday that a denial-of-service (DoS) tool is circulating that exploits a bug in the program. 'Apache Killer' showed up last Friday in a post to the 'Full Disclosure' security mailing list. The Apache project said it would release a fix for Apache 2.0 and 2.2 in the next 48 hours. All versions in the 1.3 and 2.0 lines are said to be vulnerable to attack. The group no longer supports the older Apache 1.3. 'The attack can be done remotely and with a modest number of requests can cause very significant memory and CPU usage on the server,' Apache said in an advisory. The bug is not new. Michal Zalewski, a security engineer who works for Google, pointed out that he had brought up the DoS exploitability of Apache more than four-and-a-half years ago. In lieu of a fix, Apache offered steps administrators can take to defend their Web servers until a patch is available."
Apache is just like all the other projects that grow too big and people get ignorent towards the basic things like fast performance and security.
Apache is kind of PHP of the web servers. It's easy to use, it's supported by every webhost since everybody is used to it, and their developers don't spend too much consideration on security and perfomance. And this is coming from someone who uses Apache and PHP.
If you truly want secure, fast-performance web server, use nginx. It's much better done than Apache.
Quick Apache! They will use it and claim 1337 hax!
I wonder if this is the 0day used by rabid self-publicist "thej3st3r" in his oh so very leet DoS tool? Tor + Slowloris + something else was the conclusion of lulzsec, and I think they're probably right.
nginx is a fantastic web server in some cases, but it does have some pretty serious drawbacks, too. It can't easily run CGI scripts, for instance. You get stuck using FastCGI, or SCGI, or PHP, or a half-assed adapter that tries to make your CGI script a FastCGI script, or some other technique. That does no good for those of us with proven and tested CGI scripts that we need to run. So we'll have to use Apache, lighttpd, or one of the many other non-nginx web servers out there instead, until nginx gets its act together.
(If you're a Rails kid who's going to spew your "but CGI is slow and insecure!" bullshit, take it elsewhere.)
Algorithmic complexity attacks (of which this is an example) are nothing new. They have been done on really bad sorting algorithms (quick sort, which is still defended by quite a few people that simply do not get it or are not bright enough to implement the alternatives) and are today employed, e.g., against hash-tables. Libraries/languages by people with a clue (e.g. LUA), have protection against that. Others do not.
Writing secure code is a bit harder than writing merely working code. I guess people have to find that out over and over again....
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
http://www.gossamer-threads.com/lists/apache/dev/401638 -- someone has got a patch. Keep those fast moving script kittens at bay
Imagine the anti-Microsoft shitstorm around here if this was an IIS attack tool.
All versions in the 1.3 and 2.0 lines are said to be vulnerable to attack. The group no longer supports the older Apache 1.3.
Since Slashdot is still stuck in the late '90's with a thin veneer of bad javascript, over apache 1.3 it's vulnerable... and no patch either.
AntiFA: An abbreviation for Anti First Amendment.
A quick summary: A client can use byte range requests that are overlapping and/or duplicated to use a single small request to overload the server. eg: 0-,0-,0- would request the entire contents of the file three times. YMMV but this has to do with how Apache handles the multipart responses consuming memory and isn't an actual bandwidth DoS.
Unfortunately there are legit reasons for allowing out-of-order ranges and multiple ranges, such as a PDF reader requesting the header, then skipping to the end of the file for the index, then using ranges to request specific pages. Another example was a streaming movie skipping forward by grabbing byte ranges to look for i-frames without downloading the entire file.
So the fix discussion centers on when to ignore a range request, when can you merge ranges, can you re-order them, can you reject overlapping ranges and how much do they need to overlap, etc. The consensus seems to be that first you merge adjacent ranges, then if too many ranges are left OR too many duplicated bytes are requested then the request skips the multi-part handling and just does a straight up 200 OK stream of the whole file or throws back a 416 (can't satisfy multipart request).
Natural != (nontoxic || beneficial)
and lets the quality of their software go to hell and allowing exploits to... what? open source? no, that can't be, only IIS is subject to exploit. Slashdot lied to me!
I read the advisory, chose a course of action, then it took about a minute to make my server not vulnerable. It's great that they made the disclosure.
You can do a quick test with something like this:
If you're vulnerable, you should see a really ridiculously long Content-Length header, like 900k or so.
Disabling mod_deflate or the equivalent prevents this behavior, but it's not clear that there isn't another exploit waiting to happen. A super quick fix is to kill the Range header entirely using mod_header, like so
RequestHeader unset Range
in your apache.conf or moral equivalent. For the most part, you can get away with not serving Range headers, and if you can't, you know it and don't need my advice on fixing this.
I think Apache is just like all the other projects that grow too big ! The jewelry store, welcome to go and have a look .
When I saw the headline, I thought Apache was going to warn retailers about selling HP touchpads...
has anyone noticed if mod_evasive disarms/mitigates this attack vector?
IT Admins Group: Where you decide the content
Exploit code and ways of testing the vulnerability seem to be addressed towards HTTP. Has anyone tested it against HTTPS yet?
With the bug first reported over 4.5 years ago, this was entirely avoidable.
http://seclists.org/bugtraq/2007/Jan/83
FY, Options -indexes on /var/www made my boxes safe against this attack.
Comment removed based on user account deletion
Since we're discussing Apache anyway... I've used Apache for over a decade now. Right now I'm working on a Pyramid app and publishing it with mod_wsgi on Apache 2.2, for no other reason than that I'm already familiar with Apache. Since this is a brand new project and will be running on its own dedicated server - and therefore doesn't have play nicely with any pre-existing web apps - I wanted to re-evaluate my decision. If you needed to publish a WSGI app today, what server would you use and why?
Dewey, what part of this looks like authorities should be involved?
So...
...
"... and said it would release a fix for Apache 2.0 and 2.2 in the next 48 hours."
"... According to Apache, all versions in the 1.3 and 2.0 lines are vulnerable to attack."
So dropping support for 1.3 I understand (EOL etc), but fixing 2.2 event though it isn't reported as vulnerable? which is it?
I am glad they finally got to it, but if apache had told their bank that there was an issue with their account , I am sure they would have wanted their bank to do something right away about it, and not 4.5 years ago....you just have to hit them where it hurts...ddos their banks, not their servers.....