| Дата публикации: | 27.10.2003 |
| Всего просмотров: | 2128 |
| Опасность: | Высокая |
| Наличие исправления: | |
| Количество уязвимостей: | 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 |