Ubuntu: Une faille dans sudo permet d’obtenir le droit root en modifiant l’heure

logo-ubuntu_su-orange-hex

Utilisateurs d’Ubuntu, attention…

Il y a 2 semaines, un bug au niveau de sudo révélé sur MacOS permettait à quiconque qui changeait la date de la machine au 1er janvier 1970 (début du temps sur Unix) d’obtenir le droit root (source).

Mais sur Reddit, l’utilisateur tnctic s’est rendu compte qu’une variante de ce bug s’applique à Ubuntu et est assez simple à reproduire.

Comparé à Debian (et certainement d’autres distributions?), Ubuntu et ses variantes (sauf Xubuntu) ne demandent pas de mot de passe root pour modifier l’heure dans les environnements Unity/Gnome/KDE/…

Exemple: Dans un terminal, éditez un fichier avec « sudo vim/nano » ou ouvrez une session root avec « sudo -i » / « sudo -s » pendant 10 minutes de 22h10 à 22h20. Après le timeout de sudo (qui peut être définie dans le fichier sudoers), si vous modifiez l’heure de l’ordinateur entre 22h10 et 22h20, vous pourrez à nouveau exécuter des commandes avec le droit root (sudo..) dans ce terminal.

time-ubuntu

Il y a donc un problème de sécurité, même si il reste assez minime. En effet, il faut avoir accès à la machine et savoir quand une session root a été ouverte (= pouvoir lire le fichier /var/log/auth.log).

Néanmoins, pour protéger un peu plus son ordinateur, on peut réduire à 0 le timeout de sudo dans sudoers et désinstaller le paquet policykit-desktop-privileges pour protéger par mot de passe le changement de date/heure.

Il reste donc à atteindre un changement de la part de Canonical pour empêcher le changement d’heure sans mot de passe (mais pour l’instant, c’est intentionnel) ou une modification de sudo pour qu’il utilise une « autre horloge interne ».

Suivi du bug de sudo
Discussion à propos du bug sur Reddit

Laisser un commentaire