Falhas do tipo CWE-1088

5 resultados

Acesso síncrono a recurso remoto sem timeout

Ocorre quando uma aplicação faz uma requisição síncrona (bloqueante) a um recurso remoto — banco de dados, API, serviço web — sem definir um limite de tempo máximo de espera. Se o servidor remoto ficar lento, indisponível ou travar, a aplicação fica congelada indefinidamente, consumindo recursos até o colapso.

Exemplo

Uma aplicação Java chama um serviço REST com `HttpClient` sem timeout configurado; o servidor remoto cai, e a thread fica aguardando resposta eternamente, causando travamento da aplicação ou esgotamento da thread pool.

Como mitigar

Sempre configure timeouts explícitos em chamadas remotas (connect timeout e read timeout). Para operações críticas, implemente circuit breakers ou fallbacks, e considere usar processamento assíncrono (callbacks, futures) em vez de bloqueios.