Katalog CVE

CVE-2026-87721

WysokieCVSS 8.7
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Nieograniczone zużycie zasobów (CWE-400 / CWE-407) w parserze zapytań ANTLR 3 (QueryParser / Query.g) w Gerrit Code Review w wersjach 2.0.19–3.12.9, 3.13.0–3.13.8 i 3.14.0–3.14.2 pozwala nieuwierzytelnionemu zdalnemu atakującemu (lub uwierzytelnionemu użytkownikowi, jeśli anonimowy odczyt jest wyłączony) na wywołanie trwałej odmowy usługi poprzez wyczerpanie CPU i zagłodzenie puli wątków HTTP, wymagające restartu serwera. Podatność wynika z rekurencji predykatów składniowych bez memoizacji przed sprawdzeniem uprawnień oraz braku przerywania wątków po rozłączeniu klienta. Problem naprawiono w wersjach 3.12.10, 3.13.9 i 3.14.3.

Ocena ryzyka

Niewielka liczba żądań (np. 25 pasujących do domyślnego httpd.maxThreads) może trwale zablokować wszystkie wątki HTTP, powodując niedostępność Gerrit i konieczność restartu serwera. Może to sparaliżować proces przeglądu kodu i wstrzymać prace zespołów deweloperskich.

Rekomendacja

Zaktualizować Gerrit Code Review do wersji 3.12.10, 3.13.9 lub 3.14.3. Do czasu aktualizacji rozważyć ograniczenie dostępu do endpointów zapytań oraz monitorowanie liczby i złożoności przychodzących zapytań.

Inne podatności w Gerrit Code Review

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Uncontrolled Resource Consumption (CWE-400 / CWE-407) in the ANTLR 3 search query parser (QueryParser / Query.g) in Gerrit Code Review versions 2.0.19 through 3.12.9, 3.13.0 through 3.13.8, and 3.14.0 through 3.14.2 allows an unauthenticated remote attacker (or an authenticated user if anonymous read access is disabled) to cause a persistent denial of service (CPU exhaustion and HTTP worker thread pool starvation requiring a server restart) via crafted search queries containing deeply nested parentheses sent to query evaluation endpoints (/changes/?q=, /accounts/?q=, /groups/?query=, /projects/?query=, /Documentation/?q=, /changes/{id}/query?expression=, or SSH gerrit query). Because syntactic predicates in conditionOr and conditionAnd recurse via conditionBase without memoization prior to capability or visibility checks and worker threads do not abort when the client disconnects, a small number of requests (such as 25 requests matching default httpd.maxThreads) can permanently pin all HTTP worker threads. This issue is fixed in Gerrit Code Review versions 3.12.10, 3.13.9, and 3.14.3.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS