В корректирующем релизе утилиты sudo 1.8.3p2, используемой для организации выполнения команд от имени других пользователей, исправлена очень опасная уязвимость. Проблема вызвана ошибкой форматирования строки, которую может эксплуатировать любой пользователь, даже не упомянутый в настройках sudoers. Несмотря на то, что в публичном доступе пока не найдено готовых эксплоитов, потенциально уязвимость может привести к выполнению произвольных команд с правами пользователя root.

Проблема связана с появлением в sudo 1.8.0 нового отладочного режима, предназначенного для использования при разработке правил доступа или для создания плагинов для журналирования ввода/вывода. В функции sudo_debug() была допущена ошибка, связанная с использованием имени программы как части блока форматирования строки в fprintf(). Создав специально оформленную символическую ссылку на sudo и запустив утилиту по этой ссылке (или иными способами добившись подмены argv[0]), появляется возможность эксплуатации уязвимости.

Например:


 $ ln -s /usr/bin/sudo ./%s
 $ ./%s -D9
 Segmentation fault

Рекомендуется срочно обновить sudo 1.8.x до версии 1.8.3p2. Старые версии, младше релиза 1.8.0, выпущенного в феврале 2011 года, проблеме не подвержены (например, в Ubuntu 10.04 LTS используется 1.7.2p1, в Ubuntu 11.10 - 1.7.4p6, в Slackware - 1.7.4p6). В качестве временной меры защиты можно снять suid-флаг с исполняемого файла sudo. Для систем с поддержкой FORTIFY_SOURCE, например, NetBSD и большинство дистрибутивов Linux, можно пересобрать sudo, активировав в src/Makfile опцию "-D_FORTIFY_SOURCE=2". На момент написания новости обновления были доступны только для FreeBSD и Gentoo. Пакет с sudo из состава Fedora 16 (возможно это касается и RHEL 6) изначально собран с опцией D_FORTIFY_SOURCE=2, т.е. не подвержен эксплуатации. Статус выпуска обновлений для различных дистрибутивов можно проследить на данных страницах: Ubuntu, Gentoo, Slackware, Mandriva, openSUSE, CentOS, Scientific Linux, Fedora, RHEL и Debian.

Источник: http://www.opennet.ru/opennews/art.shtml?num=32942