CVE-2026-40476
WysokieStreszczenie
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.
Ocena ryzyka
Nadmierne zużycie CPU może prowadzić do degradacji wydajności serwera, co wpływa na dostępność usług dla użytkowników. Organizacje mogą być narażone na ataki DoS, które mogą zakłócić działanie aplikacji.
Rekomendacja
Zaleca się aktualizację do wersji 15.31.5 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto monitorować zapytania GraphQL pod kątem nietypowych wzorców użycia.
Inne podatności w graphql-go
Zobacz wszystkie- 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".
- CVE-2022-37315Wysokie
graphql-go (znany jako GraphQL for Go) do wersji 0.8.0 ma nieskończoną rekurencję w parserze definicji typów.
Oryginalny opis (angielski, źródło NVD)
graphql-go is a Go implementation of GraphQL. In versions 15.31.4 and below, the OverlappingFieldsCanBeMerged validation rule performs O(n²) pairwise comparisons of fields sharing the same response name. An attacker can send a query with thousands of repeated identical fields, causing excessive CPU usage during validation before execution begins. This is not mitigated by existing QueryDepth or QueryComplexity rules. This issue has been fixed in version 15.31.5.

