Weaknesses of type CWE-62

3 results

Condição de corrida em hard link UNIX

Ocorre quando um programa cria ou manipula arquivos sem verificar se já existem hard links apontando para o mesmo inode, permitindo que um atacante redirecione o arquivo para outro local do sistema (como um arquivo crítico ou de outro usuário). A fraqueza explora o intervalo de tempo entre a verificação e o uso real do arquivo, criando uma janela de ataque.

Example

Um script de administrador cria um arquivo temporário em /tmp/relatorio.txt sem verificar hard links. Um atacante cria um hard link de /etc/shadow para /tmp/relatorio.txt antes da criação. Quando o script escreve no 'arquivo temporário', acaba modificando /etc/shadow sem perceber, comprometendo o sistema.

How to mitigate

Use open() com flags O_CREAT | O_EXCL para garantir que o arquivo é novo (sem hard links pré-existentes); evite /tmp para operações críticas; valide permissões e propriedade antes de manipular arquivos; considere usar diretórios com sticky bit ou espaços privados para arquivos temporários.