Титла: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: dejuren в Aug 27, 2011, 18:53 В http-сървъра Apache е нaмерена ($2) опасна уязвимост, позволяваща предизвикването на отказ от обслужване через изчерпване на цялата достъпна памет. Опасността от уязвимостта се задълбочава от това, че за нея е достъпен готов експлоит, позволяващ атакa от една машина с генерация на минимален трафик. При отсътствие на отделни лимити за размера на отделената от Apache памет след изпълнение на експлоита следва пълно изчерпване на паметта с вход в безкрайно свoпиране без възможност за достъп до конзола.
Проблемът е предизвикан от грешка ($2) в реализацията на поддръжката на зареждането на части от файла в указан диапазон (например, след прекъсване на съединение може да се извика зареждане от определена позиция). Грешката е свързана с това, че при обработка на заявка, съдържаща голямо число диапазони (например, "Range:bytes=0-,5-1,5-2,5-3,...,5-1000") в съчетание с използване на gzip-компресия на върнатия резултат се изразходва твърде много памет. Например, ако в заглавната част Range се предадат 1000 диапазона, то Apache се опитва отделно да компресира всеки диапазон. Всяка операция компресия изисква много памет (дори за компресиране на един байт се отделя буфер за компресия на блока), в резултат е лесно да се изчерпи цялата налична памет. За успешна атака е достатъчно изпращането на около 50 подобни заявки със съставен Range на сървър. Проблемът присъства в Apache 2.2.x, включително и последния релиз 2.2.19. Поправка засега е достъпна във вид на пач ($2). Има и няколко способа за временна защита, не изискващи прекомпилация на Apache. Например може принудително да се почиства ($2) заглавната част Range с помощта на mod_header ("RequestHeader unset Range" и "RequestHeader unset Request-Range") или да се блокират ($2) дълги последователности Range через mod_rewrite: Код:
Интересно е, че теоретическата възможност за подобна атака известния полски експерт по компютърна безопасност работещ в Google Михал Залевски (Michal Zalewski), е съобщил ($2) още преди 4 години, но проблемът по някакви причини не е бил приет сериозно и поправки не са били внесени. Разработчиците на Apache публикуваха ($2) официален отчет за уязвимостта, в който посочват, че в мрежата е регистрирана вълна DoS-атаки, базирани на тази уязвимост. Обновяване за Apache 2.0.x 2.2.x се планира да бъде пуснато в течение на 48 часа, следователно трябва да бъде достъпно в рамките на следващите няколко часа. Клонът Apache 1.3.x също е уязвим за проблема, но обновление за него няма да се прави, тъй като поддръжката му е прекратена. На администраторите се препоръчва срочно да приложат посочените по-долу обходни методи за защита. Забележка: Уязвимостта също може да се експлoатира ($2) чрез хедър 'Request-Range', затова приведените методи за защита са неефективни (трябва да се добави в конфигурацията "RequestHeader unset Request-Range" за блокиране на работата на устарелия хедър Reqest-Range, исползван само в Netscape Navigator 2-3 и MSIE 3).
Код: # Премахваме заглавната част Range, ако в нея има повече от 5 диапазона
Код: RewriteEngine on
Update: Обновлението 2.2.20 е достъпно ($2) Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: edmon в Aug 27, 2011, 23:28
Тва го пробвах върху няколко АПАЧА и не ги бутна!! Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: sickmind в Aug 28, 2011, 16:05 Хммм.... странно!!
имаш ли инсталиран пакета: libparallel-forkmanager-perl аз го пробвах срещу дебиан стейбъл, апачето започна да използва всички процесори след по малко от 5 секунди, а след десетина започна да пълни swap'a много бързо! usage: perl killapache.pl <host> [numforks] example: perl killapache.pl www.example.com 50 едит: ако искаш дай си IP адрес'а и кажи в колко часа да го пусна, ти само наблюдавай машината ;) edit2: пробвах го срещу убунту - отново успех, не зная коя версия е apache'то защото не е моя машината но утре ще питам :Р Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: b2l в Aug 28, 2011, 16:16 Disable mod_deflate, add LimitRequestFieldSize 1024 in apache.conf.
Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: n00b в Aug 29, 2011, 02:05 Това с полетата 1024 може да създаде проблем ако приложение използва повече и по-дълги cookies.
Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: sickmind в Aug 29, 2011, 09:16 Аз си реших проблема с метода SetEnvIf
Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: gat3way в Aug 29, 2011, 10:17 Те дългите cookies винаги са били проблем, защото apache така или иначе има лимит на request size-а. Едно време беше модерно да се гавриш с хората като си правиш killer hyperlink към сайт с някаква XSS уязвимост през GET параметър. Примерно новинарски сайт - пращаш на някой познат уж някаква новина, и когато той го отвори, javascript кода сетва едно cookie с огромен lifetime и дължина няколко хиляди байта - повече въпросният сайт няма отваряне докато не си изчистиш cookie-тата. Като го отвориш излиза някаква apache грешка. Ей такива простотии.
Титла: Re: Сериозна DoS-уязвимост в HTTP-сървъра Apache (CVE-2011-3192) Публикувано от: b2l в Aug 30, 2011, 17:03 От снощи debian реши проблема като качи update-ти за апача, в който проблема е фикснат.
|