Security Lab

Уязвимость форматной строки в ToolTalk RPC

Дата публикации:04.10.2001
Дата изменения:17.10.2006
Всего просмотров:1405
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание:

ISS X-Force обнаружил уязвимость форматной строки в сервисе ToolTalk RPC поставляемым со многими коммерческими вариантами UNIX. Сервер базы данных ToolTalk (rpc.ttdbserverd) содержит уязвимость форматной строки, которая может позволять отдаленным нападающим разрушить службу ToolTalk, с возможностью выполнять произвольный код на уязвимом сервере с привилегиями суперпользователя.
ToolTalk архитектура разработана, чтобы позволить определенным приложениям связываться друг с другом по сети. ToolTalk приложения сообщают через RPC и управляются сервером базы данных ToolTalk (rpc.ttdbserverd). Rpc.ttdbserverd установлен по умолчанию на многих популярных операционных системах UNIX, даже если его функциональные возможности не используются.
ToolTalk содержит вызов syslog (), который интерпретирует обеспеченные пользователем форматированные параметры. Этот запрос опасен и позволяет отдаленным нападающим управлять форматированием и управлять данными в памяти, в которой выполняется программа. Уязвимость форматной подобна уязвимости переполнения буфера, поэтому результат успешного нападения - неправомочная манипуляция защищенной памяти в выполняемой программе. Уязвимость форматной строки происходит, когда программисты забывают определять параметр формата при использовании функций семейства функций "printf".
Правильная конструкция выглядит примерно так:
printf(string, "%s");
Уязвимая функция printf может выглядеть следующим образом:
printf (string);
Когда обеспеченные пользователем строки сталкиваются с функцией printf без указанного параметра формата, строка печатается без специального форматирования. Однако, если пользователь создает строку, которая включает символы управления форматом и посылает их опасной функции printf, строка может функционировать как ссылка к памяти, которая обычно не ограничивается. Чтобы избежать этого, printf функции должна содержать параметр printf, чтобы надежно ограничить обеспеченный пользователем ввод определенными границами памяти.
Уязвимость работает в:
HP HP-UX 10.10
HP HP-UX 10.20
HP HP-UX 11.00
HP HP-UX 11.11
IBM AIX 4.3
IBM AIX 5.1
* SGI IRIX 5.2-6.4
Compaq Tru64 DIGITAL UNIX v4.0f
Compaq Tru64 DIGITAL UNIX v4.0g
Compaq Tru64 DIGITAL UNIX v5.0a
Compaq Tru64 DIGITAL UNIX v5.1
Compaq Tru64 DIGITAL UNIX v5.1a
* Sun Solaris 1.1-1.2
* Sun Solaris 2.0-2.7
Sun Solaris 7
Sun Solaris 8