В популярной утилите sudo обнаружена уязвимость,
которая в определённых условиях позволяет осуществить эскалацию
привилегий в системе, то есть обойти защиту, которую обеспечивает sudo.
Злоумышленник получает возможность запускать на исполнение команды,
которые в нормальной ситуации требуют использования sudo с указанием
правильного пароля.
Как известно, в операционных системах семейства Unix команда sudo
используется для запуска других команд от имени другого пользователя,
просто указав его пароль в системе. Она используется, в том числе, в
операционных системах Mac OS X и Linux, позволяя обычному пользователю
выполнять команды от имени администратора системы. После аутентификации у
пользователя обычно есть стандартный период пять минут, в течение
которых он может действовать от имени администратора.
Чтобы использовать вышеупомянутую уязвимость, авторизованный
пользователь должен быть указан в списке легитимных пользователей в
файле /etc/sudoers, в котором также перечислены программы, доступные для
запуска подобным способом. Для эксплуатации уязвимости пользователь
также должен как минимум однажды запустить sudo с легитимным паролем, а
на компьютере должна быть возможность изменения системного времени.
При всех вышеуказанных условиях простой переустановки времени командой sudo –k
и установки системного времени на 1 января 1970 года (начало
Unix-времени) достаточно для того, чтобы любой пользователь из файла
/etc/sudoers мог запустить любую команду, которую он уполномочен
запускать.
Нужно заметить, что переустановка системного времени обычно является
привилегированным действием, которое доступно не каждому пользователю,
хотя в операционной системе Mac OS X это действие часто доступно для
всех пользователей.
Уязвимы версии sudo с 1.6.0 по 1.7.10p6, а также с 1.8.0 по 1.8.6p6.
Уязвимость исправлена в версиях 1.7.10p7 и 1.8.6p7. Операционная система
Mac OS X 10.8.2 использует версию sudo 1.7.4p6 и поэтому является
уязвимой до тех пор, пока Apple не выпустит апдейт.
|