Dans , implémentation du protocole NTP, utilisé pour synchroniser le temps précis dans diverses distributions Linux, une vulnérabilité (), permettant de remplacer n'importe quel fichier dans le système avec un accès à un utilisateur non privilégié local chrony. La vulnérabilité ne peut être exploitée que par l'utilisateur chrony, ce qui réduit son danger. Cependant, le problème compromet le niveau d'isolation dans chrony et peut être utilisé en cas de découverte d'une autre vulnérabilité dans le code exécuté après la restauration des privilèges.
La vulnérabilité est causée par la création non sécurisée du fichier pid, qui était créé à un stade où chrony n'avait pas encore réinitialisé les privilèges et s'exécute avec les droits root. Dans ce cas, le répertoire /run/chrony, dans lequel le fichier pid est écrit, était créé avec des droits 0750 via systemd-tmpfiles ou lors du démarrage de chronyd en tant qu'utilisateur et groupe « chrony ». Ainsi, avec l'accès à l'utilisateur chrony, il est possible de remplacer le fichier pid /run/chrony/chronyd.pid par un lien symbolique. Le lien symbolique peut pointer vers n'importe quel fichier système, qui sera écrasé au moment du démarrage de 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
Vulnérabilité dans la version . Des mises à jour des paquets corrigeant la vulnérabilité sont disponibles pour . Dans le cadre des préparations de mise à jour pour , et .
SUSE et openSUSE, le problème , car le lien symbolique pour chrony est créé directement dans le répertoire /run, sans utiliser de sous-répertoires supplémentaires.
Source : opennet.ru
