CyberGlossary

Vulnérabilités

Vulnérabilité TOCTOU

Aussi appelé: TOCTTOU, Vérification-et-usage

Définition

Condition de course entre vérification et utilisation, où l'état contrôlé par une décision de sécurité change avant que l'action correspondante ne soit effectuée.

Une vulnérabilité TOCTOU (Time-Of-Check to Time-Of-Use, CWE-367) est une forme spécifique de condition de course où un programme vérifie une propriété d'une ressource (propriétaire, permissions, contenu), puis opère sur celle-ci comme si la vérification restait valable. Un attaquant capable de remplacer la ressource entre les deux étapes — typiquement via des symlinks, des renames ou de la mémoire partagée — contourne entièrement le contrôle. L'exemple canonique est access() suivi de open() : l'attaquant remplace le chemin par un symlink vers /etc/shadow après le succès d'access(). Défenses : APIs combinant vérification et usage (openat avec O_NOFOLLOW, fstat), travailler avec des descripteurs plutôt que des chemins, verrouillage de fichiers et sandboxes plus strictes.

Exemples

  • Programme setuid vérifiant la propriété avec stat() puis ouvrant le chemin.
  • Évasion de conteneur via TOCTOU sur des chemins de bind-mount.

Termes liés