Falhas do tipo CWE-95

224 resultados

Injeção em Código Avaliado Dinamicamente

Ocorre quando a aplicação passa dados não validados para funções que executam código dinamicamente (como eval(), exec() ou similar), permitindo que um atacante injete e execute comandos arbitrários. O risco é crítico porque a execução é feita com os mesmos privilégios da aplicação, podendo resultar em comprometimento total do sistema.

Exemplo

Um formulário web que avalia expressões matemáticas usando eval(input_usuario) sem sanitização. Um atacante envia 'import os; os.system("rm -rf /")' em vez de uma expressão legítima, e o servidor executa o comando malicioso diretamente.

Como mitigar

Nunca use eval() ou funções equivalentes com entrada do usuário. Use parsers específicos do domínio (para expressões matemáticas, por exemplo) ou whitelist rigorosa de caracteres permitidos. Se absolutamente necessário avaliar código, isole a execução em um sandbox com permissões mínimas e valide/sanitize agressivamente antes de qualquer avaliação.