Weaknesses of type CWE-689
3 resultsCondição de corrida em permissões durante cópia de recurso
Ocorre quando um programa copia um arquivo ou recurso e verifica suas permissões em momentos diferentes da operação, deixando uma janela onde um atacante pode modificar o arquivo entre a verificação e o uso. O código valida permissões antes de copiar, mas o arquivo original pode ser alterado (ou substituído por um symlink malicioso) antes da cópia ser concluída, resultando em leitura ou escrita não autorizada.
Um script de backup verifica se um arquivo /home/user/dados.txt tem permissões seguras (0600), autoriza a cópia para /backup/dados.txt, mas entre a verificação e a cópia o atacante substitui o arquivo original por um symlink apontando para /etc/passwd. O backup copia a senha do sistema em vez do arquivo legítimo.
Use operações atômicas (abra, verifique permissões e copie no mesmo fluxo sem liberar o descritor de arquivo) e validações baseadas em inode/inumber em vez de paths. No Linux, use fstat() após abrir o arquivo para garantir que é o mesmo recurso verificado, e desconfie de symlinks em diretórios de confiança limitada.