Опубликованы подробности и эксплоит для уязвимости (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
WorldJB.Ru - IT & WEB
:Василий Соварцов
Опубликованы подробности и эксплоит для уязвимости (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