Weaknesses of type CWE-404
624 resultsLiberação ou encerramento impróprio de recursos
Acontece quando a aplicação não libera adequadamente recursos (memória, conexões de banco de dados, arquivos abertos, sockets) após seu uso, deixando-os presos. Isso causa vazamento de recursos: a aplicação consome cada vez mais memória ou conexões até ficar indisponível ou travar.
Um serviço web abre uma conexão com o banco de dados para cada requisição, mas em caso de erro não fecha a conexão no bloco finally ou com try-with-resources. Após milhares de requisições falhadas, o pool de conexões se esgota e novas requisições começam a falhar.
Use try-with-resources (Java), context managers (Python), ou finally blocks para garantir liberação mesmo em caso de exceção. Implemente testes de carga e monitore vazamento de recursos em produção com ferramentas APM.