Cet article revient sur la vulnérabilité Xorg publiée fin 2011 sous l'identifiant CVE-2011-4029. Cette dernière exploite une condition de concurrence (en anglais « race condition ») qui permet à un utilisateur local de positionner les droits en lecture sur n'importe quel fichier du système. L'exploitation s'appuie sur la façon maladroite dont le serveur X manipule des fichiers temporaires.
1. Introduction
Une mauvaise utilisation d'un fichier temporaire peut rendre un programme vulnérable à une condition de concurrence. Cette vulnérabilité était autrefois facilement identifiable et abusée à l'aide d'un simple lien symbolique. De nos jours, ce type de faille est devenu plus difficile à déceler, et l'exploiter nécessite souvent l'usage de techniques avancées (mécanismes du noyau, signaux, etc.).
La vulnérabilité CVE-2011-4029 montre que même les projets d'envergure ne sont pas épargnés par les conditions de concurrence. Nous analyserons la vulnérabilité du serveur Xorg ainsi que l'exploit associé. Malgré des conditions difficiles, ce dernier permet de « gagner la course » à coup sûr en s'appuyant sur le contrôle du flot d'exécution d'une instance du serveur X et l'utilisation de l'API Inotify.
2. Vulnérabilité
2.1. Mécanisme de verrou
Dans la plupart des distributions, un simple utilisateur a la possibilité de lancer un...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première