Gitea Actions: Fork pull request approval bypass via job concurrency cancellation
Summary
Gitea Actions does not consistently enforce the approval requirement for workflow runs from first-time fork contributors. A separate run sharing a job-level concurrency group can cancel a pending job and cause blocked jobs to be dispatched without approval. An attacker who can open a pull request could then run unreviewed workflow code on self-hosted runners. Fork secrets remain withheld and the run token remains read-only.
Affected
- Gitea versions 0 to 1.27.2 (CNA data; default: unaffected)
Fixed in
- Gitea 1.27.3 (fixed by #39005 and #39018)
Workaround
Unknown.
Exploitation
- CISA SSVC: Exploitation none, automatable no, technical impact total
- No public exploit or in-the-wild exploitation known for this CVE
Our recommendation
- Upgrade Gitea to 1.27.3 or later
- Until upgraded, disable Actions where unused and do not share self-hosted runners between untrusted pull request workflows and deployment workloads
- Require approval for all fork pull requests and review self-hosted runner logs for unexpected jobs
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Gitea 1.27.3 is released blog.gitea.com
- Pull Request #39005 github.com
- Pull Request #39018 github.com
- Gitea v1.27.3 release github.com
- GHSA-v2w8-m4gr-qj65 github.com
- OSV CVE-2026-66877 osv.dev
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 19:07.
Original description (NVD)
Gitea enforces first-time fork contributor approval by blocking jobs, but some job transition and dispatch paths do not re-check the run's approval requirement. A separate run sharing a job-level concurrency group can cancel a pending job and cause its blocked sibling jobs to be re-emitted and dispatched without approval. This allows unreviewed workflow code to execute on self-hosted runners; fork secrets remain withheld and the run token remains read-only.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
