Weaknesses of type CWE-344

3 results

Uso de valor invariante em contexto dinâmico

A aplicação assume que um valor permanecerá constante durante sua execução, mas o contexto muda—seja por entrada do usuário, estado do sistema ou mudanças no ambiente. O código falha ao revalidar ou reavaliar esse valor nos pontos onde ele deveria ser verificado novamente, deixando brechas de lógica.

Example

Um aplicativo verifica uma vez se o usuário tem permissão de admin no início da sessão, armazena isso em uma variável, e depois usa essa variável para autorizar operações críticas horas depois—sem considerar que as permissões podem ter sido revogadas na base de dados por um administrador.

How to mitigate

Revalide pressupostos críticos (permissões, estado, configurações) no ponto onde eles são usados, não apenas na inicialização. Use uma fonte autoritária em tempo real (banco de dados, servidor) em vez de cópias locais ou em cache para decisões sensíveis.