Aller au contenu

Introspection GraphQL activée

GravitéFaible
CVEs
ClassificationsCWE-200: Information Exposure
Catégorie OWASPOWASP API8:2023 Security Misconfiguration

L’introspection GraphQL est une fonctionnalité permettant aux clients d’interroger le schéma du serveur. Elle peut être utilisée pour découvrir le schéma et les types, mais aussi par des attaquants pour en apprendre davantage sur les détails d’implémentation du serveur et trouver des vulnérabilités potentielles.

Les impacts potentiels de l’introspection GraphQL sur la sécurité sont significatifs et peuvent inclure :

  • Divulgation d’informations : les attaquants peuvent utiliser l’introspection pour en apprendre davantage sur les détails d’implémentation du serveur, tels que les types, champs, et arguments, ce qui peut mener à une divulgation d’informations et des vulnérabilités de sécurité potentielles.
  • Énumération du schéma : l’introspection peut être utilisée pour énumérer le schéma et découvrir des champs cachés ou dépréciés, qui peuvent être exploités pour fabriquer des attaques ciblées ou exploiter des vulnérabilités.
  • Mauvaise configuration de sécurité : une introspection mal configurée peut exposer des informations sensibles ou des détails d’implémentation internes, menant à des mauvaises configurations de sécurité et des risques potentiels.
  • Exposition de données : l’introspection peut révéler des structures de données sensibles, telles que des tables de base de données, des champs, ou des relations, qui peuvent être exploitées pour accéder à des données ou les manipuler de façon non autorisée.

Si vous voulez tester uniquement la vulnérabilité « Introspection GraphQL activée », vous pouvez utiliser la commande suivante :

Terminal window
vulnapi scan graphql [url] --scans graphql.introspection_enabled

Pour corriger les vulnérabilités d’introspection GraphQL, vous pouvez suivre les étapes suivantes :

  • Désactiver l’introspection : désactivez l’introspection dans les environnements de production pour empêcher les attaquants d’interroger le schéma et de découvrir des informations sensibles ou des vulnérabilités de sécurité potentielles.
  • Limiter l’accès : restreignez l’accès aux requêtes d’introspection aux utilisateurs ou applications autorisés, et assurez-vous que seules des entités de confiance peuvent interroger le schéma et accéder aux détails d’implémentation internes.