Cato Networks, le leader du SASE, a publié aujourd’hui la découverte d’une nouvelle vulnérabilité de déni de service (DoS), CVE-2023-49559, dans la bibliothèque gqlparser. Identifiée par les équipes Cato CTRL (Cyber Threats Research Labs) et Cato Application Security Research, cette vulnérabilité de gravité moyenne (score CVSS de 5.3) présente un risque pour toutes les applications web utilisant le framework GraphQL, un puissant langage de requête utilisé dans les API pour permettre une extraction efficace des données.
La vulnérabilité provient du manque de limites de la bibliothèque gqlparser dans la gestion des directives dans les requêtes GraphQL. Les attaquants peuvent exploiter cette faiblesse en envoyant des requêtes contenant un nombre excessif de directives inexistantes, ce qui provoque l’épuisement des ressources du serveur et conduit à un déni de service.
Cato Networks a travaillé en étroite collaboration avec les responsables de gqlparser pour remédier à cette vulnérabilité. Un correctif temporaire a été publié dans la version 2.5.13, limitant le nombre de tokens (directives) autorisés dans une requête. Un correctif permanent a été mis en place dans la version 2.5.15, permettant aux développeurs de fixer des limites personnalisées sur le nombre de tokens. Le serveur gqlgen, qui repose sur gqlparser, a intégré ce correctif dans sa version v0.17.49.
Pour réduire le risque d’exploitation, Cato Networks recommande aux développeurs de :
Mettre à jour la bibliothèque gqlparser avec la version 2.5.15 ou une version plus récente ainsi que les serveurs gqlgen vers la version 0.17.49 ou une version plus récente pour s’assurer qu’ils ne sont pas vulnérables à cette faille.
Mettre en œuvre des mécanismes de surveillance des ressources et de limitation du débit afin de détecter et d’empêcher une utilisation élevée des ressources due à des requêtes anormales.
Définir une taille maximale pour les requêtes HTTP à titre de précaution.
Cato Networks protège contre cette vulnérabilité avec sa plateforme Cato SASE Cloud, qui bloque automatiquement toute tentative d’exploitation de cette faille via son système de prévention des intrusions (IPS). Cela concerne tous les sites, les utilisateurs distants et les ressources cloud connectées à la plateforme.