09.12.2023

Уязвимость в chrony


В chrony, реализации протокола NTP, применяемой для синхронизации точного времени в большинстве дистрибутивов Linux, выявлена уязвимость (CVE-2020-14367), позволяющая перезаписать любой файл в системе, имея доступ к локальному непривилегированному пользователю chrony. Уязвимость может быть эксплуатирована только через пользователя chrony, что снижает её опасность. Тем не менее, проблема компрометирует уровень изоляции в chrony и может использоваться в случае выявление другой уязвимости в коде, выполняемом после сброса привилегий.

Уязвимость вызвана небезопасным созданием 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, без применения дополнительных подкаталогов.

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

Добавить комментарий