CVE-2026-40324: Hot Chocolate: recursão não controlada no parser GraphQL causa negação de serviço
O Hot Chocolate, servidor GraphQL de código aberto para .NET, possui um parser sem limite de profundidade de recursão, o que permite que documentos GraphQL com aninhamento excessivo estourem a pilha e derrubem o processo do worker. O registro atribui pontuação 9.1 e descreve correções nas versões 12.22.7, 13.9.16, 14.3.1 e 15.1.14. Não há exploração confirmada nas fontes consultadas.
Visão geral
O Hot Chocolate é um servidor GraphQL de código aberto para .NET. Segundo o registro, seu parser recursivo de descida Utf8GraphQLParser não impõe limite de profundidade de recursão, fraqueza classificada como CWE-674 (Uncontrolled Recursion). O parsing ocorre antes da execução das regras de validação, por isso controles baseados em validação não impedem o problema. A correção está descrita no aviso de segurança do GitHub.
Impacto
- Um documento GraphQL elaborado com aninhamento profundo pode esgotar a pilha de chamadas do processo do servidor.
- No .NET, a StackOverflowException não pode ser capturada, portanto todo o processo do worker é encerrado.
- Requisições HTTP em andamento, tarefas IHostedService em segundo plano e assinaturas WebSocket abertas nesse worker são interrompidas até que o orquestrador o reinicie.
- O vetor CVSS do registro indica confidencialidade como nula e integridade e disponibilidade como altas. A descrição foca na interrupção de disponibilidade.
Produtos e versões afetados
- Produto: Hot Chocolate, servidor GraphQL mantido pela ChilliCream.
- A descrição indica que as versões anteriores a 12.22.7, 13.9.16, 14.3.1 e 15.1.14 são afetadas. Há notas de lançamento para as versões 12.22.7, 13.9.16, 14.3.1 e 15.1.14.
- Os campos estruturados de afetados e correções do registro estão vazios, por isso os intervalos exatos de pacotes por ramo principal não são confirmados aqui.
Status de exploração
- O registro não indica que esta CVE está no catálogo KEV da CISA.
- Nenhuma exploração confirmada no mundo real aparece nas fontes consultadas.
- A probabilidade EPSS no registro é 0.01048 (cerca de 1,05 por cento), com percentil 0.63329. O EPSS é uma estimativa preditiva e não é evidência de exploração.
Correção e mitigação
- Atualize para a versão corrigida do seu ramo: 12.22.7, 13.9.16, 14.3.1 ou 15.1.14.
- Segundo o registro, não existe solução de contorno no nível da aplicação, pois a StackOverflowException não pode ser capturada no .NET.
- Limitar o tamanho do corpo das requisições no proxy reverso ou no balanceador de carga pode reduzir a exposição, mas não a elimina, já que o menor payload que causa a falha descrito está bem abaixo de limites comuns.
- Confirme que a política de reinício do orquestrador está configurada, o que limita o tempo de indisponibilidade, mas não impede a falha.
Orientações de detecção
- Monitore reinícios inesperados de processos de worker, arquivos de despejo de falha e quedas súbitas de conexões ativas ou sessões WebSocket.
- Revise os logs do gateway em busca de corpos de requisição GraphQL anormalmente grandes, em nível geral, e correlacione-os com reinícios de workers.
- Mantenha um inventário das versões do Hot Chocolate em todos os serviços para identificar instâncias sem correção.
Limitações das informações disponíveis
- Os campos de afetados e correções do registro estão vazios, então a análise se apoia no texto da descrição.
- O valor padrão da nova opção MaxAllowedRecursionDepth não é informado no registro.
- O status da fonte é Deferred, por isso pode haver enriquecimento posterior.
- A data do EPSS no registro é posterior à data de publicação. O valor é reportado como consta no registro.
- Detalhes técnicos que ajudariam a montar um ataque são intencionalmente omitidos.
Perguntas frequentes
Quais versões do Hot Chocolate são descritas como afetadas?
O registro indica que as versões anteriores a 12.22.7, 13.9.16, 14.3.1 e 15.1.14 são afetadas, com correções nessas versões.
Existe solução de contorno que não exija atualização?
Segundo o registro, não há solução de contorno no nível da aplicação. Limitar o tamanho do corpo das requisições no proxy ou no balanceador reduz o risco, mas não o elimina.
Esta vulnerabilidade é explorada no mundo real?
O registro não a lista no KEV da CISA e nenhuma exploração confirmada aparece nas fontes consultadas.
Esta análise foi redigida com auxílio de IA a partir de dados verificados das fontes e checada automaticamente contra eles.