CVE-2026-94205
Gitea fork workflow approval bypass through maintainer-triggered events
No known exploitation. EPSS puts it in the 28th percentile. A vendor fix is available.
What to do
The vendor has published a fix. Version details are below where the sources state them.
- GiteaAffected: ≤ 1.27.3Upgrade to: after 1.27.3Stated by: CVE record
Versions as the sources state them. Full version matrix after sign-in
Steps
Written by AI from the record- Check if you self-host Gitea and have Actions enabled with a runner registered for any repository that accepts external pull requests.
- If so, treat this as urgent — restrict runner registration or disable Actions for public/fork-accepting repos until patched.
- Upgrade Gitea to version 28.0.0 or later, which fixes this approval-bypass logic.
- Apply the vendor's workaround guidance if you cannot upgrade immediately (see the GitHub security advisory GHSA-xh39-mxw9-34pp).
- After upgrading, review recent Actions run history for any unexpected or unapproved fork-triggered workflow executions.
What it is
From the CVE record
Gitea Actions decided whether a fork pull request run needed approval based on the user who triggered the event rather than the pull request author. For `pull_request` activity triggered by a maintainer during ordinary triage, such as adding a label, the run was created without requiring approval, while the workflow definition was still taken from the fork head. Where Actions is enabled and a matching runner is registered, fork-controlled workflow code could run on the base repository's runners without an explicit approval.
In plain language
Written by AI from the recordIf your team runs a Gitea server with automated CI jobs (Actions) turned on for pull requests from forks, a bad actor can sneak in code that runs on your own servers just because a maintainer did something routine like adding a label — this is a serious issue and should be fixed now.
Gitea Actions determines fork-PR approval based on the triggering user (e.g., a maintainer adding a label) rather than the PR author, so an unauthenticated attacker's fork-controlled workflow definition can execute on the base repository's registered runners without the intended approval gate — CWE-441/CWE-863.
If you're affected
- Full server/runner takeover
- Source code and secrets exposure
- Supply chain compromise
- Operational disruption from CI abuse
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
0.4% chance of exploitation activity in the next 30 days, which ranks it in the 28th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
- Attention now
Rising, driven by in-the-wild reports.
Lifecycle
10 events over 16 days, from the signal feeds we watch.
- OpenVAS check added
- Patch availableworkaround available, record updated
- Record updatedrecord updated
- Publishedweakness classified, att&ck mapped, record updated
Affected products
And 1 more affected product. See all after sign-in
Technical detail
CVSS 3.1 vector
Open in the CVSS calculatorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Scored 9.8 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity LowNo special conditions — the attack can be reliably reproduced
- Privileges Required NoneNo authentication required — anyone can exploit this
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope UnchangedImpact is limited to the vulnerable component itself
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability HighTotal denial of service — the component is completely unavailable
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
Sources
References in the record
- github.com/go-gitea/gitea/security/advisories/GHSA-xh39-mxw9-34pp
- github.com/go-gitea/gitea/pull/39399
- blog.gitea.com/release-of-28.0.0/
And 1 more reference. See all after sign-in
In the news
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Gitea, not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI