GHSA-649p-mmhf-85c7: Gitea: Cached Per-Branch Permission Check in Pre-Receive Hook Allows Full Repository Write
highvulnerability
security
Summary
Gitea has a caching bug in its pre-receive hook (the code that checks permissions before accepting a git push) where branch-specific write permission is checked only once and reused for all branches in the same push batch. This allows an attacker with legitimate write access to one branch (like via a pull request) to bypass protections and write to any branch, including main, by pushing multiple branches at once.
Vulnerability Details
EPSS (30-day exploit probability)
EPSS: 0.5%
Patch Available
Yes
Disclosure Date
July 21, 2026
Classification
Attack SophisticationModerate
Affected Packages
code.gitea.io/gitea@< 1.26.3 (fixed: 1.26.3)
Monthly digest — independent AI security research
Original source: https://github.com/advisories/GHSA-649p-mmhf-85c7
First tracked: July 21, 2026 at 08:01 PM
Classified by LLM (prompt v3) · confidence: 95%