Уязвимость в sudo допускает эскалацию привилегий

В популярной утилите 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 не выпустит апдейт.