Уязвимость вызвана небезопасным созданием pid-файла, который создавался на этапе, когда chrony ещё не сбросил привилегии и выполняется с правами root. При этом каталог /run/chrony, в который записывается pid-файл, создавался с правами 0750 через systemd-tmpfiles или при запуске chronyd в привязке к пользователю и группе «chrony». Таким образом, при наличии доступа к пользователю chrony имеется возможность замены pid-файла /run/chrony/chronyd.pid на символическую ссылку. Символическая ссылка может указывать на любой системный файл, который будет переписан в момент запуска chronyd.
root# systemctl stop chronyd.service root# sudo -u chrony /bin/bash chrony$ cd /run/chrony chrony$ ln -s /etc/shadow chronyd.pid chrony$ exit root# /usr/sbin/chronyd -n ^C # вместо содержимого /etc/shadow будет сохранён идентификатор процесса chronyd root# cat /etc/shadow 15287
Уязвимость устранена в выпуске chrony 3.5.1. Обновления пакетов с устранением уязвимости доступны для Fedora. В процессе подготовки обновления для RHEL, Debian и Ubuntu. SUSE и openSUSE проблеме не подвержены, так как символическая ссылка для chrony создаётся непосредственно в каталоге /run, без применения дополнительных подкаталогов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=53580