A função `mergeDeep()` no pacote de utilitários do GraphQL Tools não exclui as chaves ` proto `, `constructor` ou `prototype` ao mesclar objetos de origem recursivamente. Um cliente não autenticado pode criar aliases de campos com esses nomes, fazendo com que as respostas de dois subgráficos colidam durante a mesclagem de resultados do supergráfico. Isso permite que a função percorra os protótipos de Object e Function e sobrescreva `Function.prototype.call` com um valor fornecido por um subgráfico, resultando em uma negação de serviço que interrompe todas as requisições subsequentes até que o processo seja reiniciado.