Vulnerabilidade TOCTOU
O que é Vulnerabilidade TOCTOU?
Vulnerabilidade TOCTOUCondiçã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
- 01
Programa setuid que verifica o proprietário com stat() e depois abre o caminho.
- 02
Escape de contentor via TOCTOU em caminhos de bind-mount.
● Perguntas frequentes
O que é Vulnerabilidade TOCTOU?
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. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Vulnerabilidade TOCTOU?
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.
Como se defender contra Vulnerabilidade TOCTOU?
As defesas contra Vulnerabilidade TOCTOU costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Vulnerabilidade TOCTOU?
Nomes alternativos comuns: TOCTTOU, Verificação-e-uso.