Falhas do tipo CWE-270

26 resultados

Erro na troca de contexto de privilégio

É quando uma aplicação muda para um contexto de privilégio diferente (por exemplo, elevar permissões de usuário comum para administrador) mas falha em restaurar o contexto original ou valida de forma inadequada essa transição. Isso permite que código não autorizado execute com privilégios que não deveria ter, ou que permissões elevadas vazar para operações subsequentes.

Exemplo

Um daemon que escuta requisições HTTP recebe um comando de administração, eleva para UID 0 para acessar arquivos protegidos, mas esqueça de voltar ao UID original antes de processar a próxima requisição de um usuário comum — que acaba executando com privilégios root por engano.

Como mitigar

Use padrões robustos: sempre restaure o contexto original em blocos try-finally, valide explicitamente quem pode solicitar mudanças de privilégio, minimize o escopo de código executado em contexto elevado e auditoria todas as transições. Prefira mecanismos nativos do SO (setuid, capabilities no Linux, AppContainers no Windows) em vez de reinventar controle de acesso na aplicação.