Описание:
Во второй ветке известного сервера Apache была обнаружена утечка памяти. Баг таится в релизах 2.0.46 2.0.49. Он позволяет любому злоумышленнику удаленно уронить демон. Собственно, уязвима всего одна функция ap_get_mime_headers_core(), обрабатывающая заголовки. Если хакер составит очень длинный хидер, начинающийся с символов табуляции и пробелов, то httpd начнет в бешеном темпе жрать память. В конце концов, когда доступной памяти уже не останется, Apache упадет в кору. Если проанализировать код server/protocol.c, можно наткнуться на выделение дополнительного пространства для строк, начинающихся с t и пробела. Далее видно, что благодаря процедуре escape_html() может быть выделено несколько гигов памяти для одного хидера. Этого вполне хватает для проведения DoS-атаки.
Защита:
Существует целых два решения против этой уязвимости.
1. Поставить httpd 2.0.50-dev и забыть о проблеме.
2. Наложить неофициальный патч, предлагаемый разработчиком Apache. Его можно найти на странице http://www.securitylab.ru/46115.html. Там же говорится, что использовать этот фикс тебе придется на свой страх и риск.
Ссылки:
Эксплойт полностью написан на Perl и выложен на твоем любимом сайте: http://www1.xakep.ru/post/23137/exploit.txt. Развернутая информация об ошибке доступна на странице http://www.securitylab.ru/46115.html.