Security Lab

Целочисленное переполнение буфера в CID-keyed Fonts 'CIDAFM()' в X Server

Дата публикации:13.09.2006
Дата изменения:17.10.2006
Всего просмотров:3051
Опасность:
Низкая
Наличие исправления: Да
Количество уязвимостей:1
CVE ID: CVE-2006-3739
CVE-2006-3740
Вектор эксплуатации: Локальная
Воздействие: Повышение привилегий
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: X Window System 11 (X11) 6.x
X Window System 11 (X11) 7.x
Уязвимые версии: X.org 6.8.2 и более ранние версии

Описание: Обнаруженная уязвимость позволяет выполнить произвольный код с привилегиями X server (обычно root).

Уязвимость обнаружена в функции 'CIDAFM()' в X.Org и XFree86 X сервере в коде, отвечающим за обработку AFM (Adobe Font Metrics) файлов. Число символов метрики берется из строки StartCharMetrics" в AFM файле и это значение затем умножается на размер одиночного символа метрики, чтобы рассчитать размер, который необходим для хранения этой метрики. Если результат умножения больше максимального значения, который может быть сохранен как целое, выделится значительно меньший буфер, чем необходимо. После этого, функция сделает попытку прочитать все метрические отчеты из памяти меньшего размера. Так как содержание файла может быть определено локальным пользователем, то он может выполнить контролируемое переполнение динамической памяти и запустить произвольный код.

Успешная эксплуатация уязвимости позволяет злоумышленнику выполнить произвольный код с привилегиями root пользователя. Для выполнения атаки, необходимо послать команды к уязвимому X серверу. Обычно для этого требуется доступ к консоли или доступ к учетной записи пользователя, который в данный момент находится в консоли. Уязвимость может при некоторых условиях эксплуатироваться удаленно, например через графический Web браузер. Также уязвимость может эксплуатироваться для повышения локальных привилегий до уровня root.

URL производителя: http://xfree86.org

Решение: Отключите следующую строку в разделе “modules” в конфигурационном файле Xservers (xorg.conf или XF86Config-4):
Load "type1"
Или установите соответствующее обновление: ftp://xfree86.org/pub/XFree86/4.6.0/fixes/fix-01