Gerrit up to 3.12.9/3.13.8/3.14.2 Project Name Normalization/ProjectCache Eviction ProjectUtil.stripGitSuffix/ProjectCacheImpl authorization
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.0 | $0-$5k | 0.11+ |
Summary
A vulnerability, which was classified as critical, has been found in Gerrit up to 3.12.9/3.13.8/3.14.2. This issue affects the function ProjectUtil.stripGitSuffix/ProjectCacheImpl of the component Project Name Normalization/ProjectCache Eviction. Performing a manipulation results in authorization.
This vulnerability is cataloged as CVE-2026-87720. It is possible to initiate the attack remotely. There is no exploit available.
It is advisable to upgrade the affected component.
Details
A vulnerability, which was classified as critical, was found in Gerrit up to 3.12.9/3.13.8/3.14.2. This affects the function ProjectUtil.stripGitSuffix/ProjectCacheImpl of the component Project Name Normalization/ProjectCache Eviction. The manipulation with an unknown input leads to a authorization vulnerability. CWE is classifying the issue as CWE-863. The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. This allows attackers to bypass intended access restrictions. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
Incorrect Authorization (CWE-863) in project name normalization (ProjectUtil.stripGitSuffix) and ProjectCache eviction logic (ProjectCacheImpl) in Gerrit Code Review versions 2.16.0 through 3.12.9, 3.13.0 through 3.13.8, and 3.14.0 through 3.14.2 allows an authenticated user (or an unauthenticated user if the repository was previously public) to cause unauthorized disclosure of private repository content and durable restoration of revoked project-owner administrative privileges via crafted requests using repeated .git suffixes (such as project.git.git) across REST APIs, Gitiles, or SSH Git commands. Because Gerrit strips only a single terminal .git suffix when constructing the logical ProjectCache key while JGit (FileKey.lenient) resolves the suffixed alias to the same canonical bare repository on disk, revoking read access or removing owner rules on the canonical project name fails to evict the cached alias ProjectState during the cache validity window, enabling reads of newly created private commits or writes to refs/meta/config. This issue is fixed in Gerrit Code Review versions 3.12.10, 3.13.9, and 3.14.3.
The advisory is shared at issues.gerritcodereview.com. This vulnerability is uniquely identified as CVE-2026-87720 since 09/09/2026. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details are known, but no exploit is available.
Upgrading to version 3.12.10, 3.13.9 or 3.14.3 eliminates this vulnerability.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Name
Version
- 3.12.0
- 3.12.1
- 3.12.2
- 3.12.3
- 3.12.4
- 3.12.5
- 3.12.6
- 3.12.7
- 3.12.8
- 3.12.9
- 3.13.0
- 3.13.1
- 3.13.2
- 3.13.3
- 3.13.4
- 3.13.5
- 3.13.6
- 3.13.7
- 3.13.8
- 3.14.0
- 3.14.1
- 3.14.2
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 7.3VulDB Meta Temp Score: 7.0
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: AuthorizationCWE: CWE-863 / CWE-285 / CWE-266
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Gerrit 3.12.10/3.13.9/3.14.3
Timeline
09/09/2026 CVE reserved09/24/2026 VulDB entry created
09/25/2026 Advisory disclosed
09/25/2026 VulDB entry last update
Sources
Advisory: issues.gerritcodereview.comStatus: Confirmed
CVE: CVE-2026-87720 (🔒)
GCVE (CVE): GCVE-0-2026-87720
GCVE (VulDB): GCVE-100-409809
Entry
Created: 09/25/2026 00:21Changes: 09/25/2026 00:21 (66)
Complete: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.