CyberGlossary

Vulnerabilidades

Vulnerabilidade TOCTOU

Também conhecido como: TOCTTOU, Verificação-e-uso

Definição

Condição de corrida entre verificação e uso, em que o estado verificado por uma decisão de segurança muda antes da ação correspondente ser executada.

Uma vulnerabilidade TOCTOU (Time-Of-Check to Time-Of-Use, CWE-367) é uma condição de corrida específica em que um programa verifica uma propriedade de um recurso (proprietário, permissões, conteúdo) e depois opera sobre ele como se a verificação continuasse válida. Um atacante capaz de trocar o recurso entre os dois passos — tipicamente via symlinks, renames ou memória partilhada — contorna por completo a verificação. O exemplo clássico é access() seguido de open(): o atacante substitui o caminho por um symlink para /etc/shadow após o sucesso de access(). Defesas: APIs que combinam verificação e uso (openat com O_NOFOLLOW, fstat), trabalhar com descritores em vez de caminhos, locking de ficheiros e sandboxes mais estritas.

Exemplos

  • Programa setuid que verifica o proprietário com stat() e depois abre o caminho.
  • Escape de contentor via TOCTOU em caminhos de bind-mount.

Termos relacionados