Дата публикации: | 01.12.2003 |
Всего просмотров: | 1238 |
Опасность: | Средняя |
Наличие исправления: | Да |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Удаленная |
Воздействие: |
Отказ в обслуживании Раскрытие важных данных Раскрытие системных данных |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | Surfboard httpd 1.x |
Уязвимые версии: Surfboard 1.1.8
Описание: Уязвимость обнаружена в Surfboard httpd. Удаленный пользователь может просматривать файлы на системе. Удаленный пользователь может вызвать чрезмерное использование CPU. Удаленный пользователь может представить URL, содержащий символы обхода каталога, чтобы просматривать произвольные файлы на системе с привилегиями Surfboard httpd процесса. Также удаленный атакующий может подключится к серверу используя telnet и оборвать подключение, чтобы заставить сервер использовать 100% CPU. Пример/Эксплоит: http://server/../etc/passwd http://ser ver/../../../etc/passwd URL производителя: http://surfd.sourceforge.net/ Решение:Установите следующее исправление: --- surfboard.c 2001-04-11 19:23:36.000000000 +0000 +++ 1.c 2003-11-27 18:38:28.000000000 +0000 @@ -155,7 +155,7 @@ */ while(1) { - while(read(s, &c, 1)<1); + if(read(s, &c, 1)<1) break; if(c=='\r') { continue; } if(c=='\n' && oldc=='\n') { break; } oldc=c; @@ -167,7 +167,7 @@ sprintf(buf, "Asked for %s", rawreq); log_msg(LOG_DEBUG, buf); - if(strstr(rawreq, "..")<strstr(rawreq, "?") || strstr(rawreq, "`")<strstr(rawreq, "?")) + if((!strstr(rawreq, "?")&&strstr(rawreq, "..")) || strstr(rawreq, "..")<strstr(rawreq, "?") || strstr(rawreq, "`")<strstr(rawreq, "?")) { log_msg(LOG_ERR, "Relative path and/or shell escape - ATTACK ATTEMPT"); add2header(http_header, "HTTP/1.1 400 Bad Request\r\n"); |
|
Ссылки: | Surfboard <= 1.1.8 vulns |