Une vulnérabilité dans pam_oath permettant d'obtenir des droits root dans le système

Dans le module PAM pam_oath, qui fait partie du package oath-toolkit et est utilisé pour l'authentification à deux facteurs avec des mots de passe à usage unique (OTP), une vulnérabilité (CVE-2024-47191) a été identifiée, permettant à un utilisateur non privilégié d'obtenir un accès root au système.

Le module pam_oath s'exécute avec des droits root et était initialement conçu pour stocker les clés OATH dans le fichier /etc/users.oath, auquel seul l'utilisateur root a accès. Dans la version 2.6.7 de oath-toolkit, le support du stockage des fichiers de clés dans les répertoires personnels des utilisateurs (~/.config/users.oath) a été ajouté. Les utilisateurs non privilégiés ont pu modifier les fichiers contenant leurs clés, mais pam_oath, lors de l'accès à ces fichiers, n'a pas réduit les privilèges et a continué à utiliser des méthodes de gestion de fichiers non sécurisées, supposant que les fichiers étaient stockés dans un répertoire inaccessible à la modification.

La vulnérabilité est due au fait qu'après chaque authentification réussie avec un mot de passe à usage unique, pam_oath réécrivait le fichier contenant les clés pour éviter l'utilisation d'un même mot de passe plusieurs fois. L'opération de réécriture consistait à créer un fichier de verrouillage dans le même répertoire, à écrire un nouveau contenu dans un fichier avec l'extension «.new» et à remplacer l'ancien fichier par la nouvelle version. Dans ce processus, le fichier avec l'extension «.new» était créé avec les mêmes droits que le fichier cible, mais son écriture était effectuée par un processus avec des droits root et sans vérifier l'existence du fichier.

Si le fichier était situé dans le répertoire système, il n'y avait pas de problème, mais avec l'ajout du support du stockage de fichiers de clés dans les répertoires personnels, une vulnérabilité facilement exploitable est apparue. Pour attaquer, il suffit de créer un lien symbolique «~/.config/oath.secrets.new» et de le pointer vers n'importe quel fichier système qui sera écrasé après une authentification réussie.

Pour obtenir l'accès root, il est possible de pointer le lien symbolique vers le fichier /etc/shadow. Dans ce cas, pam_oath écrira dans /etc/shadow la liste actuelle des clés et synchronisera le propriétaire et les droits d'accès avec le fichier users.oath. Étant donné que le fichier users.oath appartient à un utilisateur, ce dernier deviendra le propriétaire du fichier /etc/shadow, permettant ainsi à l'attaquant de modifier le fichier /etc/shadow et d'écrire de nouveaux paramètres de connexion pour le compte root.

La vulnérabilité apparaît à partir de la version 2.6.7 de oath-toolkit et a été corrigée (1,2,3) dans la version 2.6.12. Vous pouvez suivre la correction de la vulnérabilité dans les distributions sur les pages suivantes : Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. La vulnérabilité ne concerne que les configurations où il est autorisé de placer des fichiers de clés dans des répertoires personnels, par exemple, en utilisant dans les réglages PAM la ligne « auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath ».

Il convient également de mentionner une vulnérabilité récemment découverte (CVE-2024-9313) dans le module PAM du paquet Authd, développé par le projet Ubuntu. Cette vulnérabilité permet à un utilisateur géré via le broker Authd de se faire passer pour n'importe quel autre utilisateur également géré par ce broker, et de réussir à s'authentifier via su, sudo ou ssh sous un autre utilisateur. Le problème a été corrigé dans la version Authd 0.3.5.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster