Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Network-reachable PR feature with low complexity, but requires an authenticated account able to reach the pull request (PR:L not PR:N); impact is integrity-only, so C:N/A:N and I:H.
Primary rating from Vendor (Gitea).
CVSS VectorVendor: Gitea
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Lifecycle Timeline
4DescriptionCVE.org
Gitea versions before 1.25.5 have insufficient permission checks for updating or rebasing pull request branches.
AnalysisAI
Improper access control in Gitea before 1.25.5 allows users to update or rebase pull request head branches without holding the write/force-push permissions those actions require, letting them push base-branch commits or rewrite history on branches they should not control. The flaw stems from the IsUserAllowedToUpdate logic in services/pull/update.go, which failed to properly re-check repository push and branch-protection permissions on the head branch. This is an integrity-only issue (CVSS 7.5, I:H) with no confidentiality or availability impact; SSVC lists exploitation as none and EPSS is low (0.16%), and no public exploit identified at time of analysis.
Technical ContextAI
Gitea is a self-hosted, lightweight open-source Git service (the CPE cpe:2.3:a:gitea:gitea_open_source_git_server) providing repository hosting, pull requests, and branch protection. The root cause is CWE-284 (Improper Access Control): the pull-request 'Update by rebase/merge' feature computes whether a user may push new commits to the PR head branch, but the pre-1.25.5 IsUserAllowedToUpdate function did not correctly enforce push permission and branch-protection force-push rules on the head repository/branch. The upstream fix (PR 36465, refined by PR 36838) refactors the check into a dedicated isUserAllowedToPushOrForcePushInRepoBranch helper that evaluates both repository write permission (CanWrite on the code unit) and any matching protected-branch rule (CanUserPush/CanUserForcePush), and only inherits the PR poster's permissions when AllowMaintainerEdit is set and the user is a legitimate maintainer able to merge the PR.
RemediationAI
Vendor-released patch: 1.25.5 - upgrade all Gitea instances to 1.25.5 or later, which refactors the pull-request update/rebase permission check to properly validate head-repository push permission and branch-protection force-push rules (see https://github.com/go-gitea/gitea/releases/tag/v1.25.5 and https://blog.gitea.com/release-of-1.25.5/). If immediate upgrade is not possible, reduce exposure by tightening who can interact with pull requests: enforce branch protection on head/fork branches, restrict repository write and force-push whitelists to trusted maintainers, and disable 'Allow maintainers to edit' (AllowMaintainerEdit) on sensitive pull requests where inherited permissions are a concern - noting these controls limit collaboration workflows and do not fully close the underlying access-control gap. Monitor repository push and PR-update activity for unexpected branch updates until patched.
Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r
Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea
Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any
Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec
models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to rem
Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica
An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita
Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab
Open Redirect on login in GitHub repository go-gitea/gitea prior to 1.16.5. Rated medium severity (CVSS 6.1), this vulne
Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
Same weakness CWE-284 – Improper Access Control
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41620
GHSA-47rq-xp99-92mx