PT-2022-28174 · Apollo · Apollo Server 2+1
Publicado
2022-10-12
·
Atualizado
2022-10-12
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Nome do software vulnerável e versões afetadas
Versões do Apollo Server anteriores à 2.25.4
Versões do Apollo Server que se integram manualmente com o graphql-upload e não têm a prevenção contra CSRF ativada
Descrição
O pacote npm graphql-upload pode executar operações GraphQL contidas em solicitações POST com
content-type: multipart/form-data, permitindo que o JS em qualquer origem faça com que os navegadores enviem mutações autenticadas por cookie para o servidor GraphQL sem verificar primeiro a política CORS. Isso pode levar a efeitos colaterais, como a mutação ocorrer mesmo que a política CORS esteja configurada corretamente. Além disso, se o servidor GraphQL depender de propriedades de rede para segurança, o JS em qualquer origem pode fazer com que os navegadores enviem mutações ao servidor, que serão executadas sem verificar primeiro a política CORS.Recomendações
Para versões do Apollo Server 2 anteriores à 2.25.4 que não utilizam uploads, atualize para o Apollo Server 2.25.4 para desativar automaticamente o graphql-upload.
Para versões do Apollo Server 2 que utilizam uploads, atualize para o Apollo Server 3.7 e habilite o recurso de prevenção de CSRF.
Para versões do Apollo Server que se integram manualmente com o graphql-upload, habilite algum tipo de recurso de prevenção de CSRF, como o recurso de prevenção de CSRF no Apollo Server 3.7.
Como solução alternativa temporária, especifique
uploads: false para new ApolloServer para desativar a integração do graphql-upload e proteger contra mutações CSRF, mas observe que isso ainda deixará o servidor vulnerável a ataques CSRF que não envolvam mutações.CSRF
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Apollo Server 2
Apollo Server 3