CVE Catalog

CVE-2026-87722

HighCVSS 8.7
Published: Translated: NVD NIST

Summary

Uncontrolled Resource Consumption (CWE-400 / CWE-1333) in regex search query predicates and REST regex filter endpoints in Gerrit Code Review versions 2.1.6 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 denial of service (CPU starvation and JVM heap exhaustion / OutOfMemoryError) via crafted search queries or REST API requests. The issue stems from compiling user-supplied regular expressions into an unbounded dk.brics.automaton instance on the request thread prior to index evaluation or access control visibility filtering. This issue is fixed in versions 3.12.10, 3.13.9, and 3.14.3.

Risk Assessment

An attacker can send specially crafted search queries or REST requests to exhaust Gerrit server resources, causing its unavailability. This may block the code review process and halt development work in the organization.

Recommendation

Upgrade Gerrit Code Review to version 3.12.10, 3.13.9, or 3.14.3. Until then, consider restricting access to search endpoints and regex filters, and monitor server resource consumption.

Other vulnerabilities in Gerrit Code Review

See all
Original NVD description (English source)

Uncontrolled Resource Consumption (CWE-400 / CWE-1333) in regex search query predicates (such as RegexProjectPredicate, RegexRefPredicate, RegexPathPredicate, and sibling predicates) and REST regex filter endpoints (RegexListSearcher /projects/?r= and RefFilter /projects/{project}/branches/?r=) in Gerrit Code Review versions 2.1.6 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 denial of service (CPU starvation and JVM heap exhaustion / OutOfMemoryError) via crafted search queries or REST API requests containing regular expressions with large counted repetitions or exponential DFA determinization patterns. Because the user-supplied regular expression is compiled into an unbounded dk.brics.automaton instance (new RegExp(re).toAutomaton()) on the request thread prior to index evaluation or access control visibility filtering, trivial queries can exhaust JVM heap or pin request threads regardless of heap size. This issue is fixed in Gerrit Code Review versions 3.12.10, 3.13.9, and 3.14.3.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS