CVE-2026-80051
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
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".
Ocena ryzyka
Ryzyko obejmuje potencjalną awarię aplikacji (stack overflow) oraz naruszenie zgodności ze specyfikacją GraphQL, co może prowadzić do nieprzewidywalnego zachowania i potencjalnych ataków DoS.
Rekomendacja
Zaleca się aktualizację biblioteki graphql-go do wersji zawierającej poprawkę lub ręczne walidowanie typów zmiennych skalarnych przed ich użyciem.
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-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)
github.com/graphql-go/graphql (GraphQL for Go) through 0.8.1 does not validate that a scalar variable value matches its declared type. The built-in coerceString and coerceBool functions (scalars.go) accept input whose type does not match the declared String, ID, or Boolean scalar instead of raising the request error that the GraphQL specification mandates. In some cases (but not any typical case of JSON sent to a website), a deeply nested value leads to an unrecoverable "fatal error: stack overflow" condition.

