CVE-2022-21658
Course de concurrence dans std::fs::remove_dir_all de rustlang
- Publié
- 20 janv. 2022
- Mise à jour
- 22 avr. 2025
- Attribution de CNA
- GitHub_M
- Preuve observée
- 4 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:HFaible · 30 prochains jours
- Percentile
- 70,4 %
- 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é
Rust est un langage de programmation multi-paradigme et à usage général, conçu pour la performance et la sécurité, en particulier la concurrence sûre. Le groupe de réponse à la sécurité de Rust (Security Response WG) a été informé que la fonction de la bibliothèque standard `std::fs::remove_dir_all` est vulnérable à une condition de course permettant le suivi de liens symboliques (CWE-363). Un attaquant pourrait utiliser ce problème de sécurité pour tromper un programme privilégié afin de supprimer des fichiers et des répertoires auxquels l'attaquant ne pourrait pas autrement accéder ou qu'il ne pourrait pas supprimer. Rust 1.0.0 jusqu'à Rust 1.58.0 est affecté par cette vulnérabilité, la version 1.58.1 contenant un correctif. Notez que les cibles de compilation suivantes ne disposent pas d'API utilisables pour atténuer correctement l'attaque et restent donc vulnérables même avec une chaîne d'outils corrigée : macOS antérieur à la version 10.10 (Yosemite) et REDOX. Nous recommandons à tous de mettre à jour vers Rust 1.58.1 dès que possible, en particulier les personnes développant des programmes destinés à s'exécuter dans des contextes privilégiés (y compris les démons système et les binaires setuid), car ceux-ci présentent le risque le plus élevé d'être affectés par cette vulnérabilité. Notez que l'ajout de vérifications dans votre base de code avant d'appeler `remove_dir_all` n'atténuera pas la vulnérabilité, car celles-ci seraient également vulnérables aux conditions de course comme `remove_dir_all` lui-même. L'atténuation existante fonctionne comme prévu en dehors des conditions de course.
Sources
1POC pour cve-2022-21658
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.