Программа: Apache HTTPD suEXEC 2.2.3
Найденные уязвимости позволяют локальному злоумышленнику выполнить произвольный код на целевой системе.
1) Уязвимость возникает из-за множественных ошибок типа «race condition» во время:
- смены директорий
- смены директорий и проверки на то, является ли директория ссылкой, что может позволить атакующему, например, выполнить lstat() на произвольную директорию
- проверки на то, является ли файл символической ссылкой и выполнения целевого исполняемого файла.
2) Уязвимость возникает из-за того, что утилита suexec некорректно использует функцию strncmp() для проверки на то является ли текущая директория поддерикторией корневой директории документа. Проводимая проверка не следит за тем, является ли путь к CGI сценарию (команде) регулярным файлом или нет.
3) Уязвимость возникает из-за того, что suexec разрешает использовать любую комбинацию значений user/group, взятую из параметров в командной строке, даже если пользователь не является членом определенной группы. Это может быть использовано в комбинации с другими уязвимостями, если примонтирована файловая система /proc. Каждый раз, когда suexec сбрасывает свои привилегии и изменяет свои UID и GID, все файлы и директории под /proc/{PID} изменяют своего владельца на соответствующие значения. Поскольку процесс suexec изменяет свои UID и GID безоговорочно, создание файлов с произвольными UID и GID владельцами является тривиальной задачей.
Эксплуатирование данных уязвимостей позволит локальному атакующему выполнить произвольный код с привилегиями другого пользователя.