> CVE-2023-50730 [HIGH]

« BACK_TO_HOME
PUBLISHED
2023-12-22 21:15
MODIFIED
2024-11-21 08:37
CVSS_SCORE V3
7.5
EPSS (Prob. Exploit)
0.83%
Top 42.0%
DATA SOURCES:
NVD 🔗 2025-10-18 CVE PROJECT 🔗 2026-01-19 FIRST EPSS 🔗 2026-11-15 GITHUB 🔗 2026-11-10 OSV 🔗 2026-11-01

> DESCRIPTION

Grackle is a GraphQL server written in functional Scala, built on the Typelevel stack. The GraphQL specification requires that GraphQL fragments must not form cycles, either directly or indirectly. Prior to Grackle version 0.18.0, that requirement wasn't checked, and queries with cyclic fragments would have been accepted for type checking and compilation. The attempted compilation of such fragments would result in a JVM `StackOverflowError` being thrown. Some knowledge of an applications GraphQL schema would be required to construct such a query, however no knowledge of any application-specific performance or other behavioural characteristics would be needed. Grackle uses the cats-parse library for parsing GraphQL queries. Prior to version 0.18.0, Grackle made use of the cats-parse `recursive` operator. However, `recursive` is not currently stack safe. `recursive` was used in three places in the parser: nested selection sets, nested input values (lists and objects), and nested list type declarations. Consequently, queries with deeply nested selection sets, input values or list types could be constructed which exploited this, causing a JVM `StackOverflowException` to be thrown during parsing. Because this happens very early in query processing, no specific knowledge of an applications GraphQL schema would be required to construct such a query. The possibility of small queries resulting in stack overflow is a potential denial of service vulnerability. This potentially affects all applications using Grackle which have untrusted users. Both stack overflow issues have been resolved in the v0.18.0 release of Grackle. As a workaround, users could interpose a sanitizing layer in between untrusted input and Grackle query processing.

> AFFECTED_PRODUCTS

Typelevel - Grackle
< 0.18.0

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
High (H)
Interruption totale du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
High
Interruption totale du service possible

> GITHUB SECURITY ADVISORY

GHSA-g56x-7j6w-g8r8 HIGH

Grackle has StackOverflowError in GraphQL query processing

AFFECTED PACKAGES:
MAVEN / edu.gemini:gsp-graphql-core_native0.4_3
<= 0.14.0
MAVEN / edu.gemini:gsp-graphql-core_native0.4_2.13
<= 0.14.0
MAVEN / edu.gemini:gsp-graphql-core_sjs1_3
<= 0.14.0
MAVEN / edu.gemini:gsp-graphql-core_sjs1_2.13
<= 0.14.0
MAVEN / edu.gemini:gsp-graphql-core_3
<= 0.14.0
MAVEN / edu.gemini:gsp-graphql-core_2.13
<= 0.14.0
MAVEN / org.typelevel:grackle-core_native0.4_3
< 0.18.0
Fixed in: 0.18.0
MAVEN / org.typelevel:grackle-core_native0.4_2.13
< 0.18.0
Fixed in: 0.18.0
MAVEN / org.typelevel:grackle-core_sjs1_3
< 0.18.0
Fixed in: 0.18.0
MAVEN / org.typelevel:grackle-core_sjs1_2.13
< 0.18.0
Fixed in: 0.18.0

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Grackle has StackOverflowError in GraphQL query processing

AFFECTED PACKAGES:
Unknown / Unknown
97 versions affected
ALIASES:
GHSA-g56x-7j6w-g8r8

> HISTORIQUE DES MODIFICATIONS

Première apparition
22/12/2023 21:15
Source: NVD
📊 ENRICHISSEMENT 18/10/2025 14:45
CVEPROJECT
Champ modifié: CVE Project
Ancienne valeur:
Non
Nouvelle valeur:
Oui
Total des modifications: 1 Dernière mise à jour: 1 year ago
« BACK_TO_HOME