Weaknesses of type CWE-273
23 resultsFalha na verificação de privilégios após rebaixamento
Ocorre quando um programa tenta reduzir seus privilégios (por exemplo, de root para um usuário comum) mas não verifica se a operação foi bem-sucedida antes de prosseguir. Se a queda de privilégios falhar silenciosamente, o código continua rodando com permissões elevadas, permitindo que um atacante execute operações críticas que deveria estar impedido de fazer.
Um daemon tenta executar setuid(1000) para rodar como usuário 'www' em vez de root, mas não verifica o retorno da chamada. Se setuid falhar por qualquer motivo (limites do sistema, configuração de segurança), o processo segue como root, e um atacante pode escrever em diretórios protegidos ou acessar dados sensíveis.
Sempre verificar o retorno explícito de chamadas que alteram privilégios (setuid, setgid, etc.) e abortar a execução com erro se falharem. Implementar testes automatizados que validem se o processo realmente está rodando com as permissões esperadas antes de operações críticas.