Weaknesses of type CWE-1322

2 results

Código bloqueante em contexto não-bloqueante single-thread

É quando código síncrono (que espera por I/O ou operação pesada) é executado numa thread única com arquitetura não-bloqueante (como Node.js, async/await ou event loops). Isso congela toda a aplicação, impedindo que outras requisições sejam processadas enquanto o código bloqueante roda, degradando performance ou causando timeout.

Example

Um servidor Node.js que faz uma leitura síncrona de arquivo grande (fs.readFileSync) ou uma query síncrona de banco de dados dentro de uma rota HTTP. Enquanto isso executa, nenhuma outra requisição é atendida — a aplicação fica travada.

How to mitigate

Use sempre operações assíncronas (fs.promises, async/await, callbacks). Offload tarefas pesadas para worker threads ou filas de processamento (Bull, RabbitMQ). Monitore e faça profiling para detectar gargalos bloqueantes em produção.