Léxico TI › Seguridad › TOCTOU

TOCTOU

Seguridad Svenska → Actualizado: 2026-09-03

Time-of-Check to Time-of-Use — una condición de carrera en la que un atacante cambia algo entre el momento en que el programa lo comprueba y el momento en que lo usa.

Caso clásico: un proceso privilegiado llama a access(ruta) para comprobar que el usuario puede leer el archivo, y después llama a open(ruta). El atacante cambia el enlace simbólico entre ambas llamadas al sistema. Resultado: se lee /etc/shadow «como root en nombre del usuario».

Solución: evitar las llamadas al sistema basadas en rutas y usar variantes con descriptor de archivo (openat, fstat) que se refieran a un inodo concreto. O usar O_NOFOLLOW/RESOLVE_BENEATH. En Windows: trucos equivalentes con oplocks y junctions de NTFS.

← Volver al léxico