Дата публикации: | 27.10.2003 |
Всего просмотров: | 2065 |
Опасность: | Высокая |
Наличие исправления: | |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | |
Воздействие: | |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | |
Уязвимые версии: Wu-FTPd version 2.6.2 (с поддержкой SKEY)
Описание: Переполнение буфера обнаружено в Washington University FTP daemon (Wu-FTPd). Удаленный атакующий может выполнить произвольный код на уязвимом сервере с root привилегии. Переполнение стекового буфера обнаружено в коде, который обрабатывает SKEY идентификацию в Wu-FTPd сервере. Представляя специально обработанные опознавательные мандаты, удаленный атакующий может аварийно завершить работу демона или выполнить произвольный код с root привилегиями. Переполнение расположено в функции skey_challenge() в src/ftpd.c файле: char *skey_challenge(char *name, struct passwd *pwd, int pwok) $ { $ static char buf[128]; ... if (pwd == NULL || skeychallenge(&skey, pwd->pw_name, sbuf)) $ sprintf(buf, "Password required for %s.", name); else sprintf(buf, "%s %s for %s.", sbuf, pwok ? "allowed" : "required", name); return (buf); }в коде не проверяются размеры параметра *name. Уязвимы системы, поддерживающие SKEY идентификацию. URL производителя:http://www.wuftpd.org/ Решение: Отключите поддержку SKEY или примените следующий патч: % diff -u ftpd.c fixed-ftpd.c --- ftpd.c 2001-11-29 17:56:11.000000000 +0100 +++ fixed-ftpd.c 2003-10-20 20:43:58.000000000 +0200 @@ -1662,9 +1662,9 @@ /* Display s/key challenge where appropriate. */ if (pwd == NULL || skeychallenge(&skey, pwd->pw_name, sbuf)) - sprintf(buf, "Password required for %s.", name); + snprintf(buf, 128-1, "Password required for %s.", name); else - sprintf(buf, "%s %s for %s.", sbuf, + snprintf(buf, 128-1, "%s %s for %s.", sbuf, pwok ? "allowed" : "required", name); return (buf); } % |
|
Ссылки: | [UNIX] Wu-FTPd SKEY Stack Overflow Vulnerability |