Summary
Gitea before 1.26.2 has an authorization bypass in its "Allow edits from maintainers" pull-request feature (CVE-2026-26231). The maintainer edit permission was not properly scoped, so a user could push unauthorized commits to any repository they could merely read. In effect, read access to a repo could be turned into write access through a crafted pull request.
How to fix it
- Upgrade Gitea to 1.26.2 or later, which adds the missing authorization check.
- Audit affected repositories for unexpected commits made through pull requests during the exposure window, and review your maintainer-edit settings.
- If you cannot upgrade immediately, restrict who can open pull requests and tighten repository read access.
How to avoid it in your code
- Enforce authorization on every write path, including indirect ones like maintainer edits, fork syncs, and merge actions; never infer write rights from read access.
- Apply least-privilege repository permissions and keep read and write grants explicit and separate.
- Keep self-hosted forge software (Gitea, Forgejo, GitLab) patched promptly; code-hosting platforms are high-value targets.
References
Related vulnerabilities
All Supply chain →- HIGHCVE-2026-61442
PraisonAI: Platform member PATCH routes allow owner resource rewrites and project lead reassignment delete bypass
- MEDIUMCVE-2026-61440
PraisonAI: Platform members can rewrite shared labels and owner issue labels without owner/admin authorization
- MEDIUMCVE-2026-62179
PraisonAI: Platform members can delete owner issue dependencies through member-owned related issues
- MEDIUMGHSA-g7fw-3gjp-g5hf#@openclaw/googlechat
OpenClaw: Channel read actions could skip target allowlists
- MEDIUMGHSA-g7fw-3gjp-g5hf#@openclaw/matrix
OpenClaw: Channel read actions could skip target allowlists
- MEDIUMGHSA-g7fw-3gjp-g5hf#@openclaw/feishu
OpenClaw: Channel read actions could skip target allowlists