CVE-2026-115887
Publiée le 2026-10-23 · Dernière modification le 2026-10-30
Les versions 1.24.1 à 2.0.0 de GraphQL Scalars sont concernées. Cette bibliothèque fournit des types de données personnalisés, tels que les numéros de téléphone, pour garantir que les schémas GraphQL restent typés de manière sécurisée. La faille se situe dans le scalaire `GraphQLPhoneNumber`, où une expression régulière mal conçue entraîne une boucle de rétrogradation (backtracking) exponentielle lors du traitement de certaines chaînes de chiffres malformées.
Un attaquant peut exploiter cela pour provoquer un déni de service (DoS) en envoyant une petite requête spécialement conçue qui fige la boucle d'événements de Node.js, rendant le serveur inopérant. Cette attaque est facile à exécuter car elle ne nécessite aucune authentification, aucune interaction utilisateur et peut être lancée à distance via le réseau. Bien qu'elle ne compromette ni la confidentialité ni l'intégrité des données, elle interrompt complètement la disponibilité du service.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
GraphQL Scalars is a library of custom GraphQL scalars for creating precise type-safe GraphQL schemas. From 1.24.1 until 2.0.1, GraphQLPhoneNumber in src/scalars/PhoneNumber.ts uses ambiguous nested digit quantifiers that backtrack exponentially when a PhoneNumber value contains a run of digits followed by a character that makes the match fail. GraphQL evaluates parseLiteral during document validation and parseValue during variable coercion before resolver authentication or authorization, so a small unauthenticated request can block the Node.js event loop and stall the server process. serialize is also affected when unvalidated stored values are returned through the scalar. This issue is fixed in version 2.0.1.