Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-87720— Incorrect Authorization via Stale ProjectCache Eviction and Repeated .git Suffixes in Gerrit Code Review

Quick assessment

Affected
Gerrit Gerrit
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Gerrit Code Review 2.16.0 至 3.12.9、3.13.0 至 3.13.8 以及 3.14.0 至 3.14.2 版本中,在项目名称规范化( )和项目缓存过期逻辑( )中存在不当授权(CWE-863)漏洞。该漏洞允许已认证用户(如果仓库曾为公开状态,则未认证用户也可利用)通过构造包含重复 后缀(如 )的请求,借助 REST API、Gitiles 或 SSH Git 命令,实现以下两种危害: 1. 未经授权的私有仓库内容泄露; 2. 被撤销的项目所有者管理权限被持久化恢复。 其根本原因在于

CVSS 7.6 · High EPSS 0.30% · P23

Affected Version Matrix 3

VendorProduct Version RangeStatus
Gerrit Gerrit 2.16.0< 3.12.10 affected
3.13.0< 3.13.9 affected
3.14.0< 3.14.3 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-87720

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Incorrect Authorization via Stale ProjectCache Eviction and Repeated .git Suffixes in Gerrit Code Review
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
授权机制不正确
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Gerrit Gerrit 2.16.0 ~ 3.12.10 -

II. Public POCs for CVE-2026-87720

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-87720

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-87720 (1)

Same Patch Batch · Gerrit · 2026-09-24 · 3 CVEs total

CVE-2026-87721 8.7 HIGH Denial of Service via Exponential Backtracking in ANTLR Search Query Parser in Gerrit Code
CVE-2026-87722 8.7 HIGH Regular Expression Denial of Service (ReDoS) in Search Query Predicates and REST Filter En

IV. Related Vulnerabilities