Falhas do tipo CWE-664
43 resultadosControle inadequado de recurso durante seu ciclo de vida
É quando o código não gerencia corretamente a alocação, uso e liberação de um recurso (memória, arquivo, conexão de rede, etc.) do início ao fim de sua existência. O recurso pode vazar, ser acessado após liberação, ou ficar em estado inconsistente, criando brechas de segurança e instabilidade.
Uma aplicação abre uma conexão de banco de dados em uma função, usa para fazer uma query, mas se uma exceção ocorrer antes do close(), a conexão nunca é fechada. Se isso acontecer repetidamente, o pool de conexões se esgota e ninguém mais consegue acessar o banco.
Use sempre mecanismos de limpeza garantida: try-finally, context managers (with em Python, try-with-resources em Java), destructores confiáveis. Implemente testes que forçam exceções em pontos críticos para validar que recursos são liberados mesmo com falhas.