Дата публикации: | 29.12.2003 |
Всего просмотров: | 1228 |
Опасность: | Средняя |
Наличие исправления: | Да |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Удаленная |
Воздействие: |
Раскрытие важных данных Раскрытие системных данных |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | Pico Server (pServ) 3.x |
Уязвимые версии: pServ 3.0 beta 2
Описание: Уязвимость обнаружена в pico Server (pServ). Злонамеренный пользователь может получить доступ к произвольным файлам на уязвимой системе. Удаленный пользователь может запросить URL, содержащий '//', чтобы получить доступ к произвольным файлам вне wwwroot каталога. Пример/Эксплоит: GET //../ HTTP/1.0\r\n\r\n URL производителя:http://sourceforge.net/projects/pserv Решение: Установите следующее исправление: --- main.c 2003-09-22 10:39:24.000000000 +0200 +++ patch.c 2003-12-19 12:40:47.000000000 +0100 @@ -455,6 +455,11 @@ dirName[1] = req.documentAddress[2]; dirName[2] = req.documentAddress[3]; dirName[3] ='\0'; + if (dirName[0] == '/') + { + sayError(sock, FORBIDDEN, req.documentAddress, req); + return -1; + } if (!strcmp(dirName, "../")) { sayError(sock, FORBIDDEN, req.documentAddress, req); @@ -462,6 +467,15 @@ } } j = 0; + for(i = 1; i < sL; i++) { + if(req.documentAddress[i] == '/') + if(req.documentAddress[i+1] == '/') + { + sayError(sock, FORBIDDEN, req.documentAddress, req); + return -1; + } + } for (i = 1; i < sL; i++) { if (req.documentAddress[i] == '/') { |
|
Ссылки: | directory traversal bug in Pserv 3.0b2 |