Опубликованы подробности и эксплоит для уязвимости (CVE-2016-1247) в пакете с nginx, в конце октября устранённой в Debian и Ubuntu.

Проблема специфична
для deb-пакета nginx, не касается самого nginx, и может привести к
выполнению кода с правами root при наличии у атакующего прав доступа
"www-data" в системе.
Проблема вызвана
некорректными настройками доступа к директории с логами web-сервера.
Директория с логами /var/log/nginx имеет владельца "www-data", что
позволяет пользователю с данными полномочиями произвольно манипулировать
файлами в данной директории. При запуске или перезапуске nginx в лог
добавляются записи от процесса с правами root. Периодически скрипт
ротации логов меняет владельца файлов с логами на "www-data".
Локальный пользователь с правами www-data может создать в
директории /var/log/nginx символическую ссылку вместо файла с логом
"error.log". Таким образом, направив символическую ссылку
"/var/log/nginx/error.log" на другой файл перед перезапуском nginx,
можно изменить любой файл в системе. Перезапуск nginx по сигналу USR1
осуществляется скриптом ротации логов, который по умолчанию вызывается
из cron.daily каждый день в 6:25.
Для организации запуска кода с правами root в эксплоите
осуществляется создание символической ссылки на файл /etc/ ld.so .preload
(/var/log/nginx/error.log -> /etc/ ld.so .preload), который после
перезапуска nginx будет создан, а после ротации лога получит владельца
www-data, что позволит прописать в нём произвольную библиотеку
атакующего, после чего библиотека будет активироваться при выполнении
любого исполняемого файла, например, можно запустить suid root
приложение /usr/bin/sudo. http://www.opennet.ru/opennews/art.shtml?num=45515

Комментарии

Комментариев нет.