Показать сообщение отдельно
Старый 19.02.2004, 18:49     # 18
Shanker
Banned
 
Аватар для Shanker
 
Регистрация: 27.10.2002
Адрес: Питер
Сообщения: 1 893

Shanker Известность не заставит себя ждать
Несколько уязвимостей в Windows XP ядре

Программа: Windows XP Kernel
Опасность: Низкая
Наличие эксплоита: Да

Описание: Несколько уязвимостей обнаружено в Windows XP ядре в некоторых отладочных функциях. Локальный пользователь с привилегиями 'SeDebugPrivilege' может выполнить произвольный код в режиме ядра.

Недостаток обнаружен в функции NtSystemDebugControl(), которая может эксплуатироваться через функцию ZwSystemDebugControl() в ntdll.dll. Функция NtSystemDebugControl() выполняется в ring 0 (т.е. в режиме ядра).

Локальный пользователь с соответствующими привилегиями может использовать SYSENTER/SYSCALL инструкции (через NtSystemDebugControl() функцию) чтобы записать в IA32_SYSENTER_EIP регистр (MSR) и изменить MSR таким образом, чтобы он ссылался на произвольный код пользователя.

Также локальный пользователь может изменить interrupt dispatch table (IDT) запись, чтобы она ссылалась на произвольный код пользователя. Недостаток в подфункции ввода/вывода в NtSystemDebugControl() не в состоянии проверить правильность указателя в IO_STRUCT, так что ядро может прочитать из порта ввода-вывода ( например 80h BIOS POST). В результате локальный пользователь может сначала записать в порт ввода-вывода и затем заставить ядро писать произвольные данные в произвольные участки памяти.

Похожая уязвимость обнаружена в функциях DebugSysReadBusData() и DebugSysWriteBusData(), в которых не проверяется значение BUS_STRUCT. Локальный пользователь может заставить ядро записать произвольные данные в произвольные участки памяти.

Решение: Способов устранения обнаруженной уязвимости не существует в настоящее время. Удалите всех пользователей и группы из"Debug Programs" в "Local Security Policy\ Security Settings\ Local Policies\ User Rights Assignments”.

www.securitylab.ru
Shanker вне форума