CVE-2023-42456
sudo-rs Vulnérabilité de traversée de chemin relatif dans les fichiers de session
- Publié
- 21 sept. 2023
- Mise à jour
- 10 juin 2026
- Attribution de CNA
- GitHub_M
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HFaible · 30 prochains jours
- Percentile
- 45,7 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
# Sudo-rs Sudo-rs, une implémentation mémoire sûre de sudo et su, permet aux utilisateurs de ne pas avoir à saisir leur authentification à chaque tentative sudo, mais uniquement de temps en temps dans chaque terminal ou groupe de processus. Ce n'est qu'une fois qu'un délai configurable est écoulé que l'utilisateur doit se ré-authentifier. Cette fonctionnalité repose sur un ensemble de fichiers de session (horodatages) pour chaque utilisateur, stockés dans `/var/run/sudo-rs/ts`. Ces fichiers sont nommés en fonction du nom d'utilisateur à partir duquel la tentative sudo est effectuée (l'utilisateur d'origine). Un problème a été découvert dans les versions antérieures à 0.2.1, où les noms d'utilisateur contenant les caractères `.` et `/` pouvaient entraîner la corruption de fichiers spécifiques sur le système de fichiers. Comme les noms d'utilisateur ne sont généralement pas limités dans les caractères qu'ils peuvent contenir, un nom d'utilisateur ressemblant à un chemin relatif peut être construit. Par exemple, on pourrait ajouter un utilisateur au système avec le nom d'utilisateur `../../../../bin/cp`. Lorsqu'un utilisateur portant ce nom est connecté, il peut exécuter `sudo -K` pour effacer son fichier d'enregistrement de session. Le code de session construit alors le chemin du fichier de session en concaténant le nom d'utilisateur au répertoire de stockage des fichiers de session, ce qui donne un chemin résolu de `/bin/cp`. Le code efface ensuite ce fichier, ce qui entraîne la suppression effective du binaire `cp` du système. Un attaquant doit pouvoir se connecter en tant qu'utilisateur avec un nom d'utilisateur construit. Étant donné qu'un tel nom d'utilisateur est peu susceptible d'exister sur un système existant, il devra également être en mesure de créer les utilisateurs avec les noms d'utilisateur construits. Le problème est corrigé dans la version 0.2.1 de sudo-rs. Sudo-rs utilise désormais l'uid de l'utilisateur au lieu de son nom d'utilisateur pour déterminer le nom du fichier. Notez qu'une mise à niveau vers cette version entraînera l'ignorance des fichiers de session existants et forcera les utilisateurs à se ré-authentifier. Cela élimine également complètement toute possibilité de traversée de chemin, étant donné que les uids sont toujours des valeurs entières. Les commandes `sudo -K` et `sudo -k` peuvent être exécutées, même si un utilisateur n'a pas d'accès sudo. Comme mesure de contournement, assurez-vous que votre système ne contient aucun utilisateur avec un nom d'utilisateur spécialement conçu. Tant que c'est le cas et que les utilisateurs non fiables n'ont pas la capacité de créer des utilisateurs arbitraires sur le système, il ne devrait pas être possible d'exploiter ce problème.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.