CVE-2022-37315
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 57 - wyżej niż 57% wszystkich znanych CVE
Streszczenie
graphql-go (znany jako GraphQL for Go) do wersji 0.8.0 ma nieskończoną rekurencję w parserze definicji typów.
Ocena ryzyka
Nieskończona rekurencja może prowadzić do wyczerpania zasobów (np. pamięci) i odmowy usługi, co może zakłócić działanie aplikacji korzystających z tej biblioteki.
Rekomendacja
Zaleca się aktualizację biblioteki graphql-go do wersji nowszej niż 0.8.0, jeśli taka istnieje, lub zastosowanie obejścia polegającego na ograniczeniu złożoności definicji typów.
Inne podatności w graphql-go
Zobacz wszystkie- CVE-2026-40476Wysokie
W wersjach 15.31.4 i poniżej, reguła walidacji OverlappingFieldsCanBeMerged w bibliotece graphql-go wykonuje porównania pól o tej samej nazwie odpowiedzi w czasie O(n²). Atakujący może wysłać zapytanie z tysiącami powtarzających się identycznych pól, co prowadzi do nadmiernego zużycia CPU podczas walidacji.
- CVE-2026-80051Średnie
github.com/graphql-go/graphql (GraphQL dla Go) do wersji 0.8.1 nie sprawdza, czy wartość zmiennej skalarnej odpowiada zadeklarowanemu typowi. Wbudowane funkcje coerceString i coerceBool (scalars.go) akceptują dane wejściowe, których typ nie pasuje do zadeklarowanego skalara String, ID lub Boolean, zamiast zgłaszać błąd żądania wymagany przez specyfikację GraphQL. W niektórych przypadkach (ale nie w typowym przypadku JSON wysyłanego do strony internetowej) głęboko zagnieżdżona wartość prowadzi do nieodwracalnego błędu "fatal error: stack overflow".
Oryginalny opis (angielski, źródło NVD)
graphql-go (aka GraphQL for Go) through 0.8.0 has infinite recursion in the type definition parser.

