Highpeakematt

#30277de 53,633
8.7CVSS total
Vulnerabilidades · 1
PT-2024-30572
8.7
2024-08-27
Apollo · Apollo Router · CVE-2024-43414
**Nome do software vulnerável e versões afetadas** @apollo/query-planner versões 2.0.0 a 2.8.4 @apollo/gateway versões 2.0.0 a 2.8.4 Apollo Router versões anteriores à 1.52.1 **Descrição** O problema é uma vulnerabilidade de negação de serviço que pode fazer com que o planejador de consultas do Apollo entre em um loop infinito e nunca seja concluído, resultando em consumo ilimitado de memória e, consequentemente, em uma falha ou encerramento por falta de memória. Isso pode ser acionado se houver pelo menos um campo que não seja `@key` que possa ser resolvido por múltiplos subgrafos. O mecanismo para identificar campos compartilhados varia de acordo com a versão do Federation em uso. Em JavaScript, se o número de permutações do plano de consulta exceder `Number.MAX VALUE`, ele é representado como “infinito”, fazendo com que o planejador de consultas avalie muitos ordens de magnitude a mais de candidatos a planos de consulta do que o necessário. **Recomendações** Para as versões 2.0.0 a 2.8.4 do @apollo/query-planner, atualize para a versão 2.8.5. Para as versões 2.0.0 a 2.8.4 do @apollo/gateway, atualize para a versão 2.8.5. Para versões do Apollo Router anteriores à 1.52.1, atualize para a versão 1.52.1. Como solução alternativa temporária, certifique-se de que não haja campos resolvíveis a partir de múltiplos subgrafos. Se todos os subgrafos estiverem usando a Federação 2, confirme que nenhum dos esquemas de subgrafo utilize a diretiva `@shareable`. Se estiver usando subgrafos da Federação 1, verifique se não há campos resolvíveis por múltiplos subgrafos. Clientes do Apollo com uma licença empresarial que utilizam o Apollo Router também podem mitigar significativamente