Summary
Gitea before 1.26.0 is missing a `CanCreateOrgRepo` permission check on its fork API (CVE-2026-22555). A user without permission to create repositories in an organization could fork into it and, in doing so, exfiltrate the organization's secrets. It is a broken-authorization flaw that leaks organization and CI/CD secrets to users who should not have access to them.
How to fix it
- Upgrade Gitea to 1.26.0 or later, which enforces the missing repository-creation permission on the fork API.
- Rotate any organization or CI/CD secrets that could have been exposed, and review organization membership and recent fork activity.
How to avoid it in your code
- Enforce the same permission checks on API endpoints as on the UI; an authorization check forgotten on an API path is a classic broken-access-control bug.
- Scope secrets to the smallest set of repositories and actors that need them, and rotate on any suspected exposure.
- Keep your forge patched and audit who can create or fork repositories in sensitive organizations.
References
Related vulnerabilities
All Supply chain →- MEDIUMGHSA-3hc7-r24j-rpwc
Vikunja: Cross-project task disclosure through subtask expansion
- HIGHCVE-2026-91985
Vikunja: Read-only project members can obtain any link share's access hash via the single-share read endpoint (v1 and v2) and escalate to the share's permission level
- HIGHCVE-2026-107811
0xJacky/nginx-ui /api/nodes Leaks Cluster Node Tokens and Allows Cross-Node Impersonation as initUser
- MEDIUMGHSA-3cm4-ccvw-6xr6
SiYuan: /history/*path and /repo/diff/*path potentially exposing historical snapshots of data/.siyuan/publishAccess.json and data/templates/*
- CRITICALGHSA-v2f8-6655-7grj
Vibe-Trading FastAPI endpoints permit unauthenticated access, file upload, and an RCE chain
- CRITICALGHSA-gg6r-gp4c-89hp
Trigger.dev: V1 coordinator default-secret unauth Socket.IO