CVE-2026-75507
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 46 - wyżej niż 46% wszystkich znanych CVE
Streszczenie
Biblioteka GraphQL-core w wersjach od 3.0.0 do 3.2.12 (oraz 3.3.0rc1) zawiera podatność na wyczerpanie zasobów (CPU) podczas walidacji zapytań. Reguła OverlappingFieldsCanBeMerged wielokrotnie porównuje pola o tych samych nazwach odpowiedzi i rekurencyjnie przetwarza spłaszczone fragmenty inline, co pozwala zagnieżdżonym powtórzonym fragmentom wywołać kwadratowe, a w najgorszym przypadku O(n²·m²) obciążenie CPU przed uruchomieniem jakiejkolwiek kontroli głębokości lub złożoności. Nieuwierzytelniony zdalny atakujący może wysłać płytkie, silnie kompresowalne zapytanie GraphQL, które zablokuje proces roboczy i przeciąży usługę wieloprocesową.
Ocena ryzyka
Atakujący bez uwierzytelnienia może jednym zapytaniem zablokować proces roboczy i doprowadzić do odmowy usługi (DoS) w aplikacji udostępniającej GraphQL. Może to sparaliżować dostępność API dla wszystkich użytkowników.
Rekomendacja
Zaktualizuj bibliotekę GraphQL-core do wersji 3.2.12 lub 3.3.0rc1. Do czasu aktualizacji rozważ ograniczenie złożoności i głębokości zapytań na poziomie bramy API oraz limity czasu i liczby procesów roboczych.
Inne podatności w GraphQL-core
Zobacz wszystkie- CVE-2026-119286Wysokie
W GraphQL-core od wersji 3.3.0a3 do 3.3.1 funkcja validate() ponownie używa modułowego wyjątku ValidationAbortedError, gdy dokument przekracza max_errors. Python dołącza ramki do tracebacku tego samego wyjątku przy każdym podniesieniu, co powoduje zatrzymywanie dokumentów, kontekstów walidacji i zestawów błędów przez cały czas życia procesu.
- CVE-2026-75508Wysokie
W GraphQL-core od wersji 3.2.3 do 3.2.12 i 3.3.0rc1 limit max_tokens parsera zlicza tylko tokeny niebędące komentarzami zwracane po pominięciu komentarzy przez Lexer.lookahead. Każdy pominięty komentarz jest nadal alokowany jako Token i zachowywany przez token.next i token.prev, więc dokument GraphQL wypełniony komentarzami może przejść niski limit tokenów, zużywając pamięć.
Oryginalny opis (angielski, źródło NVD)
GraphQL-core is a Python port of the GraphQL.js reference implementation. From 3.0.0 until 3.2.12 and 3.3.0rc1, the OverlappingFieldsCanBeMerged rule in specified_rules repeatedly compares fields that share response names and recursively re-compares flattened inline fragments during the validation phase. The prior named-fragment memoization does not cover this path, so nested repeated inline fragments can drive quadratic and worst-case O(n²·m²) CPU work before any resolver or AST-based depth or complexity control runs. An unauthenticated remote attacker can submit a shallow, highly compressible GraphQL query that pins a worker process and can saturate a multi-worker service. This issue is fixed in versions 3.2.12 and 3.3.0rc1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

